class RuboCop::Cop::InSpecStyle::FileSize

@example EnforcedStyle: InSpecStyle (default)

`size` property for `file` resource is deprecated for `size_kb` and will be removed in InSpec5

# bad
describe file('my_file.txt') do
  its('size') { should eq 12345 }
end

# good
describe file('my_file.txt') do
  its('size_kb') { should eq 12345 }
end

Constants

MSG

Public Instance Methods

autocorrect(node) click to toggle source
# File lib/rubocop/cop/inspecstyle/file_size.rb, line 54
def autocorrect(node)
  lambda do |corrector|
    corrector.replace(offense_range(node), preferred_replacement)
  end
end
on_block(node) click to toggle source
# File lib/rubocop/cop/inspecstyle/file_size.rb, line 46
def on_block(node)
  return unless inside_file_spec?(node)
  node.descendants.each do |descendant|
    next unless file_resource_size_property?(descendant)
    add_offense(descendant, location: offense_range(descendant))
  end
end

Private Instance Methods

inside_file_spec?(root) click to toggle source
# File lib/rubocop/cop/inspecstyle/file_size.rb, line 62
def inside_file_spec?(root)
  spec?(root) && file_resource?(root)
end
offense_range(node) click to toggle source
# File lib/rubocop/cop/inspecstyle/file_size.rb, line 70
def offense_range(node)
  source = node.children[0].children[-1].loc.expression
  range_between(source.begin_pos+1, source.end_pos-1)
end
preferred_replacement() click to toggle source
# File lib/rubocop/cop/inspecstyle/file_size.rb, line 66
def preferred_replacement
  cop_config.fetch('PreferredReplacement')
end