csv-omg 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  '