Module: SpitterMethods

Included in:
Spitter
Defined in:
lib/spitter.rb

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object



2
3
4
# File 'lib/spitter.rb', line 2

def self.extended(base)
  base.send(:include, InstanceMethods) if base.is_a? Class
end

Instance Method Details

#parameter(*args, &block) ⇒ Object

Declare a singular spitting rule



7
8
9
10
11
# File 'lib/spitter.rb', line 7

def parameter(*args, &block)
  key, name, delegate = parse_rule_declaration(*args, &block)
  rules[key] = [name, delegate]
  key
end

#parameters(*args, &block) ⇒ Object

Declare a plural spitting rule



14
15
16
17
# File 'lib/spitter.rb', line 14

def parameters(*args, &block)
  key = parameter(*args, &block)
  rules[key] << true
end

#parse(params) ⇒ Object

Process data by creating a new instance



25
# File 'lib/spitter.rb', line 25

def parse(params) new(params).parse end

#rulesObject

Parsing rules declared with ‘parameter` or `parameters`



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

def rules
  @rules ||= {}
end