acts_as_elibri_product 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -26,6 +26,17 @@ Structure is build using hashes, general rule is:
26
26
  }
27
27
  ```
28
28
 
29
+ Also you can use lambda in this construction, if you want to do something with attribute (for example downcase it).
30
+ In this case, you should use array, where first element is name of elibri attribute and second element is lambda that describes what to do with it.
31
+
32
+ Example:
33
+ ```ruby
34
+ {
35
+ :title => [:title, lambda {|x| Logger.info("changing title"); return "#{x}_test"}]
36
+ }
37
+
38
+ Important thing is that lambda need to take exactly one argument, and need to return final value of attribute to write into database.
39
+
29
40
  When dealing with embedded objects and relations, you should use embedded hashes:
30
41
 
31
42
  ```ruby
@@ -28,6 +28,8 @@ module ActsAsElibriProduct
28
28
  elsif v.is_a?(Hash)
29
29
  object = db_product.send(v.keys.first)
30
30
  ActsAsElibriProduct.set_objects_from_array(k, v.keys.first, v.values.first, product.send(k), db_product) if product.send(k)
31
+ elsif v.is_a?(Array)
32
+ db_product.send(:write_attribute, v[0], v[1].call(product.send(k)))
31
33
  end
32
34
  end
33
35
  db_product.old_xml = xml_string
@@ -1,3 +1,3 @@
1
1
  module ActsAsElibriProduct
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_elibri_product
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Piotr Szmielew
@@ -15,11 +15,9 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-08 00:00:00 +02:00
19
- default_executable:
18
+ date: 2012-05-09 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- type: :runtime
23
21
  name: rails
24
22
  version_requirements: &id001 !ruby/object:Gem::Requirement
25
23
  none: false
@@ -30,10 +28,10 @@ dependencies:
30
28
  segments:
31
29
  - 0
32
30
  version: "0"
31
+ type: :runtime
33
32
  prerelease: false
34
33
  requirement: *id001
35
34
  - !ruby/object:Gem::Dependency
36
- type: :runtime
37
35
  name: elibri_xml_versions
38
36
  version_requirements: &id002 !ruby/object:Gem::Requirement
39
37
  none: false
@@ -44,10 +42,10 @@ dependencies:
44
42
  segments:
45
43
  - 0
46
44
  version: "0"
45
+ type: :runtime
47
46
  prerelease: false
48
47
  requirement: *id002
49
48
  - !ruby/object:Gem::Dependency
50
- type: :development
51
49
  name: elibri_onix_mocks
52
50
  version_requirements: &id003 !ruby/object:Gem::Requirement
53
51
  none: false
@@ -58,10 +56,10 @@ dependencies:
58
56
  segments:
59
57
  - 0
60
58
  version: "0"
59
+ type: :development
61
60
  prerelease: false
62
61
  requirement: *id003
63
62
  - !ruby/object:Gem::Dependency
64
- type: :development
65
63
  name: rspec
66
64
  version_requirements: &id004 !ruby/object:Gem::Requirement
67
65
  none: false
@@ -72,10 +70,10 @@ dependencies:
72
70
  segments:
73
71
  - 0
74
72
  version: "0"
73
+ type: :development
75
74
  prerelease: false
76
75
  requirement: *id004
77
76
  - !ruby/object:Gem::Dependency
78
- type: :development
79
77
  name: rspec-rails
80
78
  version_requirements: &id005 !ruby/object:Gem::Requirement
81
79
  none: false
@@ -86,10 +84,10 @@ dependencies:
86
84
  segments:
87
85
  - 0
88
86
  version: "0"
87
+ type: :development
89
88
  prerelease: false
90
89
  requirement: *id005
91
90
  - !ruby/object:Gem::Dependency
92
- type: :development
93
91
  name: sqlite3
94
92
  version_requirements: &id006 !ruby/object:Gem::Requirement
95
93
  none: false
@@ -100,6 +98,7 @@ dependencies:
100
98
  segments:
101
99
  - 0
102
100
  version: "0"
101
+ type: :development
103
102
  prerelease: false
104
103
  requirement: *id006
105
104
  description: Gem designed to allow easy addition of eLibri based product to your application. Currently only tested under REE.
@@ -112,16 +111,15 @@ extensions: []
112
111
  extra_rdoc_files: []
113
112
 
114
113
  files:
115
- - lib/generators/add_acts_as_elibri_product/USAGE
116
- - lib/generators/add_acts_as_elibri_product/add_acts_as_elibri_product_generator.rb
117
- - lib/generators/add_acts_as_elibri_product/templates/add_old_xml_to_model.rb
118
114
  - lib/acts_as_elibri_product/version.rb
119
115
  - lib/acts_as_elibri_product.rb
116
+ - lib/generators/add_acts_as_elibri_product/add_acts_as_elibri_product_generator.rb
117
+ - lib/generators/add_acts_as_elibri_product/templates/add_old_xml_to_model.rb
118
+ - lib/generators/add_acts_as_elibri_product/USAGE
120
119
  - lib/tasks/acts_as_elibri_product_tasks.rake
121
120
  - MIT-LICENSE
122
121
  - Rakefile
123
122
  - README.md
124
- has_rdoc: true
125
123
  homepage: http://elibri.com.pl
126
124
  licenses: []
127
125
 
@@ -151,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
149
  requirements: []
152
150
 
153
151
  rubyforge_project:
154
- rubygems_version: 1.5.2
152
+ rubygems_version: 1.8.21
155
153
  signing_key:
156
154
  specification_version: 3
157
155
  summary: Easy addition of eLibri based product to your application