yeti 0.3.14 → 0.3.15

Sign up to get free protection for your applications and to get access to all the features.
data/lib/yeti/editor.rb CHANGED
@@ -136,11 +136,12 @@ module Yeti
136
136
  end
137
137
  accessor_module.module_eval """
138
138
  def #{name}
139
- unless defined? @#{name}
139
+ if defined? @#{name}
140
+ @#{name}
141
+ else
140
142
  opts = self.class.attribute_options[:#{name}]
141
- @#{name} = format_output #{from}, opts
143
+ format_output #{from}, opts
142
144
  end
143
- @#{name}
144
145
  end
145
146
  def #{name}=(value)
146
147
  opts = self.class.attribute_options[:#{name}]
data/lib/yeti/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yeti
2
- VERSION = "0.3.14"
2
+ VERSION = "0.3.15"
3
3
  end
@@ -242,6 +242,7 @@ describe ::Yeti::Editor do
242
242
  attribute :timestamp, from: ".timestamp_str"
243
243
  attribute :related_id, from: "related.id"
244
244
  attribute :invalid
245
+ attribute :with_default_from_another_attribute, from: ".related_id"
245
246
 
246
247
  def related
247
248
  Struct.new(:id, :description).new 2, "Business man"
@@ -274,6 +275,10 @@ describe ::Yeti::Editor do
274
275
  it "attribute raises if value cannot be found in source" do
275
276
  expect{ subject.invalid }.to raise_error NoMethodError
276
277
  end
278
+ it "do not assign default value on access" do
279
+ subject.with_default_from_another_attribute.should eq(2)
280
+ subject.instance_variable_get(:@with_default_from_another_attribute).should be_nil
281
+ end
277
282
  end
278
283
  describe "#mandatory?" do
279
284
  subject do
metadata CHANGED
@@ -1,72 +1,81 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yeti
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.14
4
+ version: 0.3.15
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Joseph HALTER
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-08-13 00:00:00.000000000 Z
12
+ date: 2013-09-30 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activemodel
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: string_cleaner
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rake
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rspec
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
- description: 'Yeti: Context, Editor and Search patterns'
78
+ description: ! 'Yeti: Context, Editor and Search patterns'
70
79
  email:
71
80
  - joseph@openhood.com
72
81
  executables: []
@@ -95,26 +104,27 @@ files:
95
104
  - yeti.gemspec
96
105
  homepage: ''
97
106
  licenses: []
98
- metadata: {}
99
107
  post_install_message:
100
108
  rdoc_options: []
101
109
  require_paths:
102
110
  - lib
103
111
  required_ruby_version: !ruby/object:Gem::Requirement
112
+ none: false
104
113
  requirements:
105
- - - '>='
114
+ - - ! '>='
106
115
  - !ruby/object:Gem::Version
107
116
  version: '0'
108
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
+ none: false
109
119
  requirements:
110
- - - '>='
120
+ - - ! '>='
111
121
  - !ruby/object:Gem::Version
112
122
  version: '0'
113
123
  requirements: []
114
124
  rubyforge_project:
115
- rubygems_version: 2.0.3
125
+ rubygems_version: 1.8.23
116
126
  signing_key:
117
- specification_version: 4
127
+ specification_version: 3
118
128
  summary: Editor pattern simplifies edition of multiple objects at once using ActiveModel
119
129
  test_files:
120
130
  - spec/spec_helper.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 145a74cad12c6112a80a599647cf928007430f08
4
- data.tar.gz: 4121ad4c8a7dbddb0f839740f9ccb0441acd0e07
5
- SHA512:
6
- metadata.gz: c8f4c71f9d98231a3878b54db2706e258faf39a22d3d827672a60ca31b136fa55a1be879963a1bbcbe90f13a0330317b66a04003197fb009b16e0373b8bdcfe2
7
- data.tar.gz: 433275a0ad3e8ff1ca689a49f58dbce2e7df34f93e707c4b88d5625a65d7d46b7b67e8d0c7b3c3b5173e2e349777656671889f869b9e0373774ceff3793c229d