safety_pin 0.0.6 → 0.0.7
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/Gemfile.lock +2 -2
- data/lib/safety_pin/node.rb +11 -0
- data/lib/safety_pin/node_blueprint.rb +1 -1
- data/lib/safety_pin/version.rb +1 -1
- data/spec/node_blueprint_spec.rb +1 -1
- data/spec/node_spec.rb +44 -1
- metadata +10 -11
data/Gemfile.lock
CHANGED
@@ -2,12 +2,12 @@ GEM
|
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
4
|
diff-lcs (1.1.3)
|
5
|
-
nyan-cat-formatter (0.0
|
5
|
+
nyan-cat-formatter (0.2.0)
|
6
6
|
rspec (2.10.0)
|
7
7
|
rspec-core (~> 2.10.0)
|
8
8
|
rspec-expectations (~> 2.10.0)
|
9
9
|
rspec-mocks (~> 2.10.0)
|
10
|
-
rspec-core (2.10.
|
10
|
+
rspec-core (2.10.1)
|
11
11
|
rspec-expectations (2.10.0)
|
12
12
|
diff-lcs (~> 1.1.3)
|
13
13
|
rspec-mocks (2.10.1)
|
data/lib/safety_pin/node.rb
CHANGED
@@ -97,6 +97,17 @@ module SafetyPin
|
|
97
97
|
def session
|
98
98
|
@session ||= JCR.session
|
99
99
|
end
|
100
|
+
|
101
|
+
def ==(other_node)
|
102
|
+
return false if other_node.nil?
|
103
|
+
return false unless other_node.respond_to?(:path)
|
104
|
+
self.path == other_node.path
|
105
|
+
end
|
106
|
+
|
107
|
+
def parent
|
108
|
+
raise NodeError.new("Root node does not have parent") if path == "/"
|
109
|
+
Node.new(j_node.parent)
|
110
|
+
end
|
100
111
|
|
101
112
|
def children
|
102
113
|
child_nodes = []
|
@@ -3,7 +3,7 @@ module SafetyPin
|
|
3
3
|
attr_accessor :path, :primary_type, :properties
|
4
4
|
|
5
5
|
def initialize(opts)
|
6
|
-
raise NodeBlueprintError.new("No path specified") unless opts
|
6
|
+
raise NodeBlueprintError.new("No path specified") unless opts.has_key?(:path)
|
7
7
|
@path = opts[:path]
|
8
8
|
@primary_type = opts[:primary_type] || "nt:unstructured"
|
9
9
|
@properties = opts[:properties] || {}
|
data/lib/safety_pin/version.rb
CHANGED
data/spec/node_blueprint_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe SafetyPin::NodeBlueprint do
|
|
25
25
|
|
26
26
|
describe "#path" do
|
27
27
|
it "requires a path" do
|
28
|
-
|
28
|
+
expect { SafetyPin::NodeBlueprint.new({}).path }.to raise_error(SafetyPin::NodeBlueprintError)
|
29
29
|
end
|
30
30
|
|
31
31
|
it "has a path" do
|
data/spec/node_spec.rb
CHANGED
@@ -99,7 +99,7 @@ describe SafetyPin::Node do
|
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
-
describe ".create_or_update"
|
102
|
+
describe ".create_or_update" do
|
103
103
|
let(:node_blueprint) { SafetyPin::NodeBlueprint.new(:path => "/content/foo") }
|
104
104
|
|
105
105
|
it "calls Node.create with arg when nothing exists at path" do
|
@@ -666,4 +666,47 @@ describe SafetyPin::Node do
|
|
666
666
|
child_node.properties.should == {"foo" => "bar"}
|
667
667
|
end
|
668
668
|
end
|
669
|
+
|
670
|
+
describe "#==" do
|
671
|
+
it "finds two nodes with the same path to be the same" do
|
672
|
+
node1 = SafetyPin::Node.new(double(:j_node))
|
673
|
+
node1.should_receive(:path).and_return("/content/foo")
|
674
|
+
node2 = SafetyPin::Node.new(double(:j_node))
|
675
|
+
node2.should_receive(:path).and_return("/content/foo")
|
676
|
+
|
677
|
+
node1.should == node2
|
678
|
+
end
|
679
|
+
|
680
|
+
it "finds two nodes with different paths to be different" do
|
681
|
+
node1 = SafetyPin::Node.new(double(:j_node))
|
682
|
+
node1.should_receive(:path).and_return("/content/foo")
|
683
|
+
node2 = SafetyPin::Node.new(double(:j_node))
|
684
|
+
node2.should_receive(:path).and_return("/content/foo/bar")
|
685
|
+
|
686
|
+
node1.should_not == node2
|
687
|
+
end
|
688
|
+
|
689
|
+
it "returns false when passed an object that doesn't response to path" do
|
690
|
+
node1 = SafetyPin::Node.new(double(:j_node))
|
691
|
+
node1.stub(:path => "foo")
|
692
|
+
node1.should_not == Object.new
|
693
|
+
end
|
694
|
+
|
695
|
+
it "returns false when passed a nil object" do
|
696
|
+
node1 = SafetyPin::Node.new(double(:j_node))
|
697
|
+
node1.should_not == nil
|
698
|
+
end
|
699
|
+
end
|
700
|
+
|
701
|
+
describe "#parent", :focus => true do
|
702
|
+
let(:node) { SafetyPin::Node.create(SafetyPin::NodeBlueprint.new(:path => "/content/foo")) }
|
703
|
+
|
704
|
+
it "returns the parent node" do
|
705
|
+
node.parent.should == SafetyPin::Node.find("/content")
|
706
|
+
end
|
707
|
+
|
708
|
+
it "raises an error when called on the root node" do
|
709
|
+
expect { SafetyPin::Node.find("/").parent }.to raise_error(SafetyPin::NodeError)
|
710
|
+
end
|
711
|
+
end
|
669
712
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safety_pin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
version: 0.0.7
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jordan Raine
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-13 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: An easy-to-use JCR connector for JRuby
|
15
15
|
email:
|
@@ -45,26 +45,26 @@ files:
|
|
45
45
|
- spec/where_condition_spec.rb
|
46
46
|
homepage: ''
|
47
47
|
licenses: []
|
48
|
-
post_install_message:
|
48
|
+
post_install_message:
|
49
49
|
rdoc_options: []
|
50
50
|
require_paths:
|
51
51
|
- lib
|
52
52
|
required_ruby_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
53
54
|
requirements:
|
54
55
|
- - ! '>='
|
55
56
|
- !ruby/object:Gem::Version
|
56
57
|
version: '0'
|
57
|
-
none: false
|
58
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
59
60
|
requirements:
|
60
61
|
- - ! '>='
|
61
62
|
- !ruby/object:Gem::Version
|
62
63
|
version: '0'
|
63
|
-
none: false
|
64
64
|
requirements: []
|
65
|
-
rubyforge_project:
|
66
|
-
rubygems_version: 1.8.
|
67
|
-
signing_key:
|
65
|
+
rubyforge_project:
|
66
|
+
rubygems_version: 1.8.23
|
67
|
+
signing_key:
|
68
68
|
specification_version: 3
|
69
69
|
summary: JCR connector for JRuby
|
70
70
|
test_files:
|
@@ -75,4 +75,3 @@ test_files:
|
|
75
75
|
- spec/query_spec.rb
|
76
76
|
- spec/spec_helper.rb
|
77
77
|
- spec/where_condition_spec.rb
|
78
|
-
...
|