Class: Synvert::Rewriter

Inherits:
Object
  • Object
show all
Defined in:
lib/synvert/rewriter.rb

Defined Under Namespace

Classes: Action, AppendAction, Condition, GemSpec, IfOnlyExistCondition, InsertAction, InsertAfterAction, Instance, RemoveAction, ReplaceWithAction, Scope, UnlessExistCondition

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description, &block) ⇒ Rewriter

Returns a new instance of Rewriter.



22
23
24
25
26
# File 'lib/synvert/rewriter.rb', line 22

def initialize(description, &block)
  @description = description
  @block = block
  @assignments = {}
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



20
21
22
# File 'lib/synvert/rewriter.rb', line 20

def description
  @description
end

Instance Method Details

#gem_spec(name, version) ⇒ Object



41
42
43
# File 'lib/synvert/rewriter.rb', line 41

def gem_spec(name, version)
  @gem_spec = Rewriter::GemSpec.new(name, version)
end

#get(name, key) ⇒ Object



33
34
35
# File 'lib/synvert/rewriter.rb', line 33

def get(name, key)
  @assignments[name] and @assignments[name][key]
end

#processObject



37
38
39
# File 'lib/synvert/rewriter.rb', line 37

def process
  self.instance_eval &@block
end

#set(name, key, value) ⇒ Object



28
29
30
31
# File 'lib/synvert/rewriter.rb', line 28

def set(name, key, value)
  @assignments[name] ||= {}
  @assignments[name][key] = value
end

#within_file(file_pattern, &block) ⇒ Object Also known as: within_files



45
46
47
48
49
# File 'lib/synvert/rewriter.rb', line 45

def within_file(file_pattern, &block)
  if @gem_spec.match?
    Rewriter::Instance.new(self, file_pattern, &block).process
  end
end