sunnytrail 0.0.1.2 → 0.0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sunnytrail.rb +4 -2
- data/spec/sunnytrail_spec.rb +20 -0
- metadata +3 -3
data/lib/sunnytrail.rb
CHANGED
@@ -76,6 +76,8 @@ class Sunnytrail
|
|
76
76
|
end
|
77
77
|
|
78
78
|
class Event < Hashie::Dash
|
79
|
+
|
80
|
+
attr_writer :action, :plan
|
79
81
|
|
80
82
|
property :id
|
81
83
|
property :name
|
@@ -91,8 +93,8 @@ class Sunnytrail
|
|
91
93
|
|
92
94
|
def to_hash
|
93
95
|
out = {}
|
94
|
-
out[:action] = @action.
|
95
|
-
out[:plan] = @plan.
|
96
|
+
out[:action] = @action.nil? ? {} : @action.to_hash
|
97
|
+
out[:plan] = @plan.nil? ? {} : @plan.to_hash
|
96
98
|
keys.each do |k|
|
97
99
|
out[k] = Hashie::Hash === self[k] ? self[k].to_hash : self[k]
|
98
100
|
end
|
data/spec/sunnytrail_spec.rb
CHANGED
@@ -63,6 +63,26 @@ describe Sunnytrail do
|
|
63
63
|
event.to_hash.should == OPTIONS_HASH
|
64
64
|
event.to_json.should == OPTIONS_HASH.to_json
|
65
65
|
end
|
66
|
+
|
67
|
+
it "should set up and clear action and plan attributes properly" do
|
68
|
+
event = Sunnytrail::Event.new
|
69
|
+
event.action.name = "signup"
|
70
|
+
event.plan.name = "Basic"
|
71
|
+
event.action.name.should == "signup"
|
72
|
+
event.plan.name.should == "Basic"
|
73
|
+
event.action = nil
|
74
|
+
event.plan = nil
|
75
|
+
event.action.name.should be_nil
|
76
|
+
event.plan.name.should be_nil
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should add empty plan and action node to hash when they are not specified" do
|
80
|
+
event = Sunnytrail::Event.new
|
81
|
+
hash = event.to_hash
|
82
|
+
hash[:action].should == {}
|
83
|
+
hash[:plan].should == {}
|
84
|
+
end
|
66
85
|
end
|
67
86
|
|
87
|
+
|
68
88
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sunnytrail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 77
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
9
|
- 1
|
10
|
-
-
|
11
|
-
version: 0.0.1.
|
10
|
+
- 3
|
11
|
+
version: 0.0.1.3
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Mateusz Zawisza
|