yeti 0.3.14 → 0.3.15
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/lib/yeti/editor.rb +4 -3
- data/lib/yeti/version.rb +1 -1
- data/spec/yeti/editor_spec.rb +5 -0
- metadata +26 -16
- checksums.yaml +0 -7
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
|
-
|
139
|
+
if defined? @#{name}
|
140
|
+
@#{name}
|
141
|
+
else
|
140
142
|
opts = self.class.attribute_options[:#{name}]
|
141
|
-
|
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
data/spec/yeti/editor_spec.rb
CHANGED
@@ -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.
|
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-
|
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:
|
125
|
+
rubygems_version: 1.8.23
|
116
126
|
signing_key:
|
117
|
-
specification_version:
|
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
|