Module: AnixeCsv::Formatter::ClassMethods

Defined in:
lib/anixe_csv/formatter.rb

Overview

visible in the singleton

Instance Method Summary collapse

Instance Method Details

#delimiter(value = nil) ⇒ Object



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

def delimiter(value=nil)
  @delimiter = value
end

#escape(from_str, to_str) ⇒ Object



28
29
30
# File 'lib/anixe_csv/formatter.rb', line 28

def escape(from_str, to_str)
  @escape = [from_str, to_str]
end

#field(*args, &block) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/anixe_csv/formatter.rb', line 40

def field(*args, &block)
  Field.new(*args).tap do |field|
    self.fields[field.name] = field

    field.block = block
    create_accessor(field.name)
  end
end

#fieldsObject



12
13
14
# File 'lib/anixe_csv/formatter.rb', line 12

def fields
  @fields ||= {}
end

#get_delimiterObject



24
25
26
# File 'lib/anixe_csv/formatter.rb', line 24

def get_delimiter
  @delimiter ||= ','
end

#get_escapeObject



32
33
34
# File 'lib/anixe_csv/formatter.rb', line 32

def get_escape
  @escape ||= [get_delimiter,"_"]
end

#headersObject



54
55
56
# File 'lib/anixe_csv/formatter.rb', line 54

def headers
  fields.keys.join(get_delimiter)
end

#rule(&block) ⇒ Object

A rule shall raise an exception if it is not conforming



50
51
52
# File 'lib/anixe_csv/formatter.rb', line 50

def rule(&block)
  rules << block
end

#rulesObject



16
17
18
# File 'lib/anixe_csv/formatter.rb', line 16

def rules
  @rules ||= []
end

#validate(field, regexp) ⇒ Object



36
37
38
# File 'lib/anixe_csv/formatter.rb', line 36

def validate(field, regexp)
  @fields[field].regexp = regexp
end