csv-omg 1.0.2 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -12,10 +12,10 @@ Examples
12
12
  class Product
13
13
  include CsvOmg
14
14
 
15
- column :name, 'product_name'
16
- column :uid, 'product_uid', Integer
17
- column :description, 2
18
- column(:price_in_cents, 'product_price', Float){|float| (float * 100).round }
15
+ col :name, 'product_name'
16
+ col :uid, 'product_uid', Integer
17
+ col :description, 2
18
+ col(:price_in_cents, 'product_price', Float){|float| (float * 100).round }
19
19
 
20
20
  end
21
21
  end
data/lib/csv-omg.rb CHANGED
@@ -47,7 +47,7 @@ module CsvOmg
47
47
  instances
48
48
  end
49
49
 
50
- def column(attr, *args, &block)
50
+ def col(attr, *args, &block)
51
51
  attr = attr.to_s
52
52
  type = args.delete(([String, Float, Integer, Date, DateTime] & args).first) || String
53
53
  source = args.first || attr
@@ -95,8 +95,8 @@ module CsvOmg
95
95
 
96
96
  def create_accessor(name)
97
97
  unless respond_to?('column_names') && column_names.include?(name)
98
- create_getter(name)
99
- create_setter(name)
98
+ create_getter(name) unless respond_to?(name)
99
+ create_setter(name) unless respond_to?("#{name}=")
100
100
  end
101
101
  end
102
102
  end
@@ -1,3 +1,3 @@
1
1
  module CsvOmg
2
- Version = VERSION = "1.0.2"
2
+ Version = VERSION = "1.0.4"
3
3
  end
data/test/csv_omg_test.rb CHANGED
@@ -18,7 +18,7 @@ shared_context 'CsvOmg' do
18
18
  context 'instances' do
19
19
  before{ @instance = @klass.new }
20
20
 
21
- specify 'have a getter for every column' do
21
+ specify 'have a getter for every col' do
22
22
  @instance_expectations.each do |expectations|
23
23
  expectations.each do |name, value|
24
24
  @instance.should.respond_to(name.to_s)
@@ -26,7 +26,7 @@ shared_context 'CsvOmg' do
26
26
  end
27
27
  end
28
28
 
29
- specify 'have a setter for every column' do
29
+ specify 'have a setter for every col' do
30
30
  @instance_expectations.each do |expectations|
31
31
  expectations.each do |name, value|
32
32
  @instance.should.respond_to("#{name}=")
@@ -56,10 +56,10 @@ module Shop
56
56
  class Product
57
57
  include CsvOmg
58
58
 
59
- column(:category, 'product_category', Integer)
60
- column(:created_on, 2, Date)
61
- column(:price, 'product_price', Float)
62
- column(:naam, 'name'){|name| "Mr. #{name}"}
59
+ col(:category, 'product_category', Integer)
60
+ col(:created_on, 2, Date)
61
+ col(:price, 'product_price', Float)
62
+ col(:naam, 'name'){|name| "Mr. #{name}"}
63
63
  end
64
64
  end
65
65
 
@@ -96,11 +96,11 @@ class Transaction
96
96
 
97
97
  # Price Paid,Stock Symbol,Regulator,Name,City,FDIC Number,Transaction Type,State,Program,Pricing Mechanism,Type of Institution,Total Assets,Date,OTS Number,Description
98
98
 
99
- column :symbol, 'Stock Symbol'
100
- column(:price_in_cents, 'Price Paid') {|raw| raw.to_f * 100 rescue 0.0 }
101
- column :description, 'Description'
102
- column :ots, 'OTS Number'
103
- column :fdic, 'FDIC Number', Integer
99
+ col :symbol, 'Stock Symbol'
100
+ col(:price_in_cents, 'Price Paid') {|raw| raw.to_f * 100 rescue 0.0 }
101
+ col :description, 'Description'
102
+ col :ots, 'OTS Number'
103
+ col :fdic, 'FDIC Number', Integer
104
104
  end
105
105
 
106
106
  context 'some more csv' do
@@ -149,10 +149,10 @@ class ARProduct < ActiveRecord::Base
149
149
 
150
150
  attr_protected :name
151
151
 
152
- column :name
153
- column :price, 'product_price', Float
154
- column :uid, 'product_uid', Integer
155
- column(:created_at, 'product_created', DateTime)
152
+ col :name
153
+ col :price, 'product_price', Float
154
+ col :uid, 'product_uid', Integer
155
+ col(:created_at, 'product_created', DateTime)
156
156
 
157
157
  end
158
158
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv-omg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.4
5
5
  prerelease: !!null
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable: !!null
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: fastercsv
17
- requirement: &21816560 !ruby/object:Gem::Requirement
17
+ requirement: &18999540 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 1.5.4
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *21816560
25
+ version_requirements: *18999540
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: test-spec
28
- requirement: &21816060 !ruby/object:Gem::Requirement
28
+ requirement: &18999040 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 0.10.0
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *21816060
36
+ version_requirements: *18999040
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rr
39
- requirement: &21815600 !ruby/object:Gem::Requirement
39
+ requirement: &18998580 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 1.0.2
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *21815600
47
+ version_requirements: *18998580
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: activerecord
50
- requirement: &21815140 !ruby/object:Gem::Requirement
50
+ requirement: &18998120 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 3.0.6
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *21815140
58
+ version_requirements: *18998120
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: sqlite3
61
- requirement: &21814680 !ruby/object:Gem::Requirement
61
+ requirement: &18997660 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: 1.3.3
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *21814680
69
+ version_requirements: *18997660
70
70
  description: ! 'CsvOmg easily lets you map CSV to objects. Inspired by happymapper.
71
71
 
72
72
  '