releaf-content 0.2.1 → 1.0.3
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.
- checksums.yaml +4 -4
- data/LICENSE +19 -21
- data/app/assets/javascripts/{releaf/controllers → controllers}/releaf/content/nodes.js +0 -0
- data/app/assets/stylesheets/{releaf/controllers → controllers}/releaf/content/nodes.scss +0 -0
- data/app/builders/releaf/content/builders/action_dialog.rb +9 -1
- data/app/builders/releaf/content/builders/tree.rb +1 -1
- data/app/builders/releaf/content/content_type_dialog_builder.rb +2 -2
- data/app/builders/releaf/content/nodes/form_builder.rb +3 -3
- data/app/builders/releaf/content/nodes/index_builder.rb +1 -1
- data/app/builders/releaf/content/nodes/toolbox_builder.rb +0 -5
- data/app/controllers/releaf/content/nodes_controller.rb +109 -129
- data/app/middleware/releaf/content/routes_reloader.rb +12 -4
- data/app/services/releaf/content/node/copy.rb +90 -0
- data/app/services/releaf/content/node/move.rb +21 -0
- data/app/services/releaf/content/node/save_under_parent.rb +22 -0
- data/app/services/releaf/content/node/service.rb +17 -0
- data/app/validators/releaf/content/node/singleness_validator.rb +1 -24
- data/lib/releaf-content.rb +85 -6
- data/lib/releaf/content/acts_as_node.rb +0 -5
- data/lib/releaf/content/acts_as_node/active_record/acts/node.rb +2 -8
- data/lib/releaf/content/configuration.rb +61 -0
- data/lib/releaf/content/engine.rb +1 -34
- data/lib/releaf/content/node.rb +30 -101
- data/lib/releaf/content/node_mapper.rb +28 -2
- data/lib/releaf/content/route.rb +37 -25
- data/spec/builders/content/nodes/action_dialog_spec.rb +39 -0
- data/spec/builders/content/nodes/form_builder_spec.rb +47 -3
- data/spec/builders/content/nodes/toolbox_builder_spec.rb +1 -32
- data/spec/controllers/releaf/content/nodes_controller_spec.rb +42 -11
- data/spec/features/nodes_services_spec.rb +207 -0
- data/spec/features/nodes_spec.rb +328 -30
- data/spec/lib/releaf/content/acts_as_node_spec.rb +4 -32
- data/spec/lib/releaf/content/configuration_spec.rb +159 -0
- data/spec/lib/releaf/content/engine_spec.rb +149 -0
- data/spec/lib/releaf/content/node_spec.rb +66 -324
- data/spec/lib/releaf/content/route_spec.rb +223 -34
- data/spec/middleware/routes_reloader_spec.rb +62 -14
- data/spec/routing/node_mapper_spec.rb +223 -55
- data/spec/services/releaf/content/node/copy_spec.rb +115 -0
- data/spec/services/releaf/content/node/move_spec.rb +20 -0
- data/spec/services/releaf/content/node/save_under_parent_spec.rb +49 -0
- data/spec/services/releaf/content/node/service_spec.rb +19 -0
- metadata +38 -21
- data/app/builders/releaf/content/go_to_dialog_builder.rb +0 -9
- data/app/views/releaf/content/nodes/go_to_dialog.ruby +0 -1
- data/lib/releaf/content/builders_autoload.rb +0 -18
- data/releaf-content.gemspec +0 -20
@@ -0,0 +1,115 @@
|
|
1
|
+
require "rails_helper"
|
2
|
+
|
3
|
+
describe Releaf::Content::Node::Copy do
|
4
|
+
class DummyNodeServiceIncluder
|
5
|
+
include Releaf::Content::Node::Service
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:node){ Node.new }
|
9
|
+
subject{ described_class.new(node: node, parent_id: 12) }
|
10
|
+
|
11
|
+
describe "#duplicate_content" do
|
12
|
+
let(:node) { create(:node) }
|
13
|
+
|
14
|
+
context "when content_id is blank" do
|
15
|
+
it "returns nil" do
|
16
|
+
expect( subject.duplicate_content ).to be nil
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
context "when content_id is not blank" do
|
21
|
+
let(:node) { create(:home_page_node) }
|
22
|
+
|
23
|
+
it "returns saved duplicated content" do
|
24
|
+
content = HomePage.new
|
25
|
+
expect( content ).to receive(:save!)
|
26
|
+
expect( node.content.class ).to receive(:new).and_return(content)
|
27
|
+
expect( subject.duplicate_content ).to eq content
|
28
|
+
end
|
29
|
+
|
30
|
+
it "reassigns dragonfly accessors" do
|
31
|
+
content = HomePage.new
|
32
|
+
expect( content ).to receive(:save!)
|
33
|
+
allow( node.content.class ).to receive(:new).and_return(content)
|
34
|
+
expect( subject ).to receive(:duplicate_content_dragonfly_attributes).with(content)
|
35
|
+
expect( subject.duplicate_content ).to eq content
|
36
|
+
end
|
37
|
+
|
38
|
+
it "doesn't return same as original content" do
|
39
|
+
result = subject.duplicate_content
|
40
|
+
expect( result ).to be_an_instance_of HomePage
|
41
|
+
expect( result.id ).to_not eq node.content_id
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#cloned_content_attributes" do
|
47
|
+
it "returns attributes without id and dragonfly attributes" do
|
48
|
+
node.content = HomePage.new(id: 42, banner_uid: "re", intro_text_html: "some text")
|
49
|
+
|
50
|
+
expect(subject.cloned_content_attributes).to have_key("intro_text_html")
|
51
|
+
expect(subject.cloned_content_attributes).not_to include(:id, :banner_uid)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe "#duplicate_content_dragonfly_attributes" do
|
56
|
+
context "when dragonfly file is present" do
|
57
|
+
it "reassigns dragonfly accessors to given content instance from node content" do
|
58
|
+
old_content = HomePage.create(banner: File.new("releaf-core/spec/fixtures/cs.png"))
|
59
|
+
new_content = HomePage.new()
|
60
|
+
node.content = old_content
|
61
|
+
|
62
|
+
expect(new_content).to receive(:banner=).with(old_content.banner)
|
63
|
+
expect(new_content).to receive(:banner_uid=).with(nil)
|
64
|
+
subject.duplicate_content_dragonfly_attributes(new_content)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context "when dragonfly file is not present" do
|
69
|
+
it "doesn't reassigns dragonfly accessors to given content instance from node content" do
|
70
|
+
old_content = HomePage.new(banner_uid: "yy")
|
71
|
+
new_content = HomePage.new()
|
72
|
+
node.content = old_content
|
73
|
+
|
74
|
+
expect(new_content).to receive(:banner=).with(nil)
|
75
|
+
expect(new_content).to receive(:banner_uid=).with(nil)
|
76
|
+
subject.duplicate_content_dragonfly_attributes(new_content)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "#content_dragonfly_attributes" do
|
82
|
+
it "returns array of node content object dragonfly attributes" do
|
83
|
+
node.content = HomePage.new
|
84
|
+
expect(subject.content_dragonfly_attributes).to eq(["banner_uid"])
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe "#duplicate_under" do
|
89
|
+
let!(:source_node) { create(:node, locale: "lv") }
|
90
|
+
let!(:target_node) { create(:node, locale: "en") }
|
91
|
+
|
92
|
+
before do
|
93
|
+
allow_any_instance_of(Releaf::Content::Node::RootValidator).to receive(:validate)
|
94
|
+
subject.node = source_node
|
95
|
+
subject.parent_id = target_node.id
|
96
|
+
end
|
97
|
+
|
98
|
+
it "creates duplicated node under target node" do
|
99
|
+
new_node = Node.new
|
100
|
+
duplicated_content = double('content', id: 1234)
|
101
|
+
expect( Node ).to receive(:new).ordered.and_return(new_node)
|
102
|
+
expect( new_node ).to receive(:assign_attributes_from).with(source_node).ordered.and_call_original
|
103
|
+
expect( subject ).to receive(:duplicate_content).ordered.and_return(duplicated_content)
|
104
|
+
expect( new_node ).to receive(:content_id=).with(1234).ordered
|
105
|
+
expect( Releaf::Content::Node::SaveUnderParent ).to receive(:call).with(node: new_node, parent_id: target_node.id)
|
106
|
+
.ordered.and_call_original
|
107
|
+
expect(subject.duplicate_under).to eq(new_node)
|
108
|
+
end
|
109
|
+
|
110
|
+
it "doesn't update settings timestamp" do
|
111
|
+
expect( Node ).to_not receive(:updated)
|
112
|
+
subject.duplicate_under
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require "rails_helper"
|
2
|
+
|
3
|
+
describe Releaf::Content::Node::Move do
|
4
|
+
class DummyNodeServiceIncluder
|
5
|
+
include Releaf::Content::Node::Service
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:node){ Node.new }
|
9
|
+
subject{ described_class.new(node: node, parent_id: 12) }
|
10
|
+
|
11
|
+
describe "#call" do
|
12
|
+
context "when parent is same" do
|
13
|
+
it "does nothing" do
|
14
|
+
node.parent_id = 12
|
15
|
+
expect(node.class).to_not receive(:transaction)
|
16
|
+
subject.call
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require "rails_helper"
|
2
|
+
|
3
|
+
describe Releaf::Content::Node::SaveUnderParent do
|
4
|
+
class DummyNodeServiceIncluder
|
5
|
+
include Releaf::Content::Node::Service
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:root_node){ create(:node, locale: "lv") }
|
9
|
+
let(:node){ build(:text_page_node) }
|
10
|
+
subject{ described_class.new(node: node, parent_id: root_node.id) }
|
11
|
+
|
12
|
+
describe "#call" do
|
13
|
+
it "saves node nuder node with given node_id" do
|
14
|
+
node2 = create(:text_page_node, parent: root_node)
|
15
|
+
|
16
|
+
subject.parent_id = node2.id
|
17
|
+
subject.call
|
18
|
+
expect( node ).to_not be_new_record
|
19
|
+
expect( node.parent ).to eq node2
|
20
|
+
end
|
21
|
+
|
22
|
+
it "maintains node name, updates slug and then saves record" do
|
23
|
+
expect( node ).to receive(:maintain_name).ordered.and_call_original
|
24
|
+
expect( node ).to receive(:reasign_slug).ordered.and_call_original
|
25
|
+
expect( node ).to receive(:save!).ordered.and_call_original
|
26
|
+
subject.call
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when #validate_root_locale_uniqueness? returns true" do
|
30
|
+
let(:node){ root_node }
|
31
|
+
|
32
|
+
it "sets locale to nil" do
|
33
|
+
allow(node).to receive(:validate_root_locale_uniqueness?).and_return(true)
|
34
|
+
subject.parent_id = nil
|
35
|
+
expect { subject.call }.to change{ node.locale }.from("lv").to(nil)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when #validate_root_locale_uniqueness? returns false" do
|
40
|
+
let(:node){ root_node }
|
41
|
+
|
42
|
+
it "doesn't set locale to nil" do
|
43
|
+
allow(node).to receive(:validate_root_locale_uniqueness?).and_return(false)
|
44
|
+
subject.parent_id = nil
|
45
|
+
expect { subject.call }.to_not change{ node.locale }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require "rails_helper"
|
2
|
+
|
3
|
+
describe Releaf::Content::Node::Service do
|
4
|
+
class DummyNodeServiceIncluder
|
5
|
+
include Releaf::Content::Node::Service
|
6
|
+
end
|
7
|
+
|
8
|
+
let(:node){ Node.new }
|
9
|
+
subject{ DummyNodeServiceIncluder.new(node: node) }
|
10
|
+
|
11
|
+
describe "#add_error_and_raise" do
|
12
|
+
it "adds errors to base and raise validation error" do
|
13
|
+
expect{ subject.add_error_and_raise("shit happen") }.to raise_error do |exception|
|
14
|
+
expect(exception).to be_instance_of ActiveRecord::RecordInvalid
|
15
|
+
expect(exception.record.errors[:base]).to eq(["shit happen"])
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: releaf-content
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- CubeSystems
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: releaf-core
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 1.0.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 1.0.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: stringex
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.6'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2.6'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: awesome_nested_set
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '3.1'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '3.1'
|
55
55
|
description: Content subsystem for releaf
|
56
56
|
email: info@cubesystems.lv
|
57
57
|
executables: []
|
@@ -59,14 +59,13 @@ extensions: []
|
|
59
59
|
extra_rdoc_files: []
|
60
60
|
files:
|
61
61
|
- LICENSE
|
62
|
-
- app/assets/javascripts/
|
63
|
-
- app/assets/stylesheets/
|
62
|
+
- app/assets/javascripts/controllers/releaf/content/nodes.js
|
63
|
+
- app/assets/stylesheets/controllers/releaf/content/nodes.scss
|
64
64
|
- app/builders/releaf/content/builders/action_dialog.rb
|
65
65
|
- app/builders/releaf/content/builders/dialog.rb
|
66
66
|
- app/builders/releaf/content/builders/tree.rb
|
67
67
|
- app/builders/releaf/content/content_type_dialog_builder.rb
|
68
68
|
- app/builders/releaf/content/copy_dialog_builder.rb
|
69
|
-
- app/builders/releaf/content/go_to_dialog_builder.rb
|
70
69
|
- app/builders/releaf/content/move_dialog_builder.rb
|
71
70
|
- app/builders/releaf/content/nodes/content_form_builder.rb
|
72
71
|
- app/builders/releaf/content/nodes/form_builder.rb
|
@@ -74,39 +73,50 @@ files:
|
|
74
73
|
- app/builders/releaf/content/nodes/toolbox_builder.rb
|
75
74
|
- app/controllers/releaf/content/nodes_controller.rb
|
76
75
|
- app/middleware/releaf/content/routes_reloader.rb
|
76
|
+
- app/services/releaf/content/node/copy.rb
|
77
|
+
- app/services/releaf/content/node/move.rb
|
78
|
+
- app/services/releaf/content/node/save_under_parent.rb
|
79
|
+
- app/services/releaf/content/node/service.rb
|
77
80
|
- app/validators/releaf/content/node/parent_validator.rb
|
78
81
|
- app/validators/releaf/content/node/root_validator.rb
|
79
82
|
- app/validators/releaf/content/node/singleness_validator.rb
|
80
83
|
- app/views/releaf/content/nodes/content_type_dialog.ruby
|
81
84
|
- app/views/releaf/content/nodes/copy_dialog.ruby
|
82
|
-
- app/views/releaf/content/nodes/go_to_dialog.ruby
|
83
85
|
- app/views/releaf/content/nodes/move_dialog.ruby
|
84
86
|
- lib/releaf-content.rb
|
85
87
|
- lib/releaf/content/acts_as_node.rb
|
86
88
|
- lib/releaf/content/acts_as_node/action_controller/acts/node.rb
|
87
89
|
- lib/releaf/content/acts_as_node/active_record/acts/node.rb
|
88
|
-
- lib/releaf/content/
|
90
|
+
- lib/releaf/content/configuration.rb
|
89
91
|
- lib/releaf/content/engine.rb
|
90
92
|
- lib/releaf/content/node.rb
|
91
93
|
- lib/releaf/content/node_mapper.rb
|
92
94
|
- lib/releaf/content/route.rb
|
93
95
|
- lib/releaf/content/router_proxy.rb
|
94
|
-
-
|
96
|
+
- spec/builders/content/nodes/action_dialog_spec.rb
|
95
97
|
- spec/builders/content/nodes/content_form_builder_spec.rb
|
96
98
|
- spec/builders/content/nodes/form_builder_spec.rb
|
97
99
|
- spec/builders/content/nodes/toolbox_builder_spec.rb
|
98
100
|
- spec/controllers/releaf/content/nodes_controller_spec.rb
|
101
|
+
- spec/features/nodes_services_spec.rb
|
99
102
|
- spec/features/nodes_spec.rb
|
100
103
|
- spec/lib/releaf/content/acts_as_node_spec.rb
|
104
|
+
- spec/lib/releaf/content/configuration_spec.rb
|
105
|
+
- spec/lib/releaf/content/engine_spec.rb
|
101
106
|
- spec/lib/releaf/content/node_spec.rb
|
102
107
|
- spec/lib/releaf/content/route_spec.rb
|
103
108
|
- spec/middleware/routes_reloader_spec.rb
|
104
109
|
- spec/routing/node_mapper_spec.rb
|
110
|
+
- spec/services/releaf/content/node/copy_spec.rb
|
111
|
+
- spec/services/releaf/content/node/move_spec.rb
|
112
|
+
- spec/services/releaf/content/node/save_under_parent_spec.rb
|
113
|
+
- spec/services/releaf/content/node/service_spec.rb
|
105
114
|
- spec/validators/content/node/parent_validator_spec.rb
|
106
115
|
- spec/validators/content/node/root_validator_spec.rb
|
107
116
|
- spec/validators/content/node/singleness_validator_spec.rb
|
108
117
|
homepage: https://github.com/cubesystems/releaf
|
109
|
-
licenses:
|
118
|
+
licenses:
|
119
|
+
- MIT
|
110
120
|
metadata: {}
|
111
121
|
post_install_message:
|
112
122
|
rdoc_options: []
|
@@ -124,22 +134,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
134
|
version: '0'
|
125
135
|
requirements: []
|
126
136
|
rubyforge_project:
|
127
|
-
rubygems_version: 2.
|
137
|
+
rubygems_version: 2.5.1
|
128
138
|
signing_key:
|
129
139
|
specification_version: 4
|
130
140
|
summary: Node and content routes support for releaf
|
131
141
|
test_files:
|
142
|
+
- spec/builders/content/nodes/action_dialog_spec.rb
|
132
143
|
- spec/builders/content/nodes/content_form_builder_spec.rb
|
133
144
|
- spec/builders/content/nodes/form_builder_spec.rb
|
134
145
|
- spec/builders/content/nodes/toolbox_builder_spec.rb
|
135
146
|
- spec/controllers/releaf/content/nodes_controller_spec.rb
|
147
|
+
- spec/features/nodes_services_spec.rb
|
136
148
|
- spec/features/nodes_spec.rb
|
137
149
|
- spec/lib/releaf/content/acts_as_node_spec.rb
|
150
|
+
- spec/lib/releaf/content/configuration_spec.rb
|
151
|
+
- spec/lib/releaf/content/engine_spec.rb
|
138
152
|
- spec/lib/releaf/content/node_spec.rb
|
139
153
|
- spec/lib/releaf/content/route_spec.rb
|
140
154
|
- spec/middleware/routes_reloader_spec.rb
|
141
155
|
- spec/routing/node_mapper_spec.rb
|
156
|
+
- spec/services/releaf/content/node/copy_spec.rb
|
157
|
+
- spec/services/releaf/content/node/move_spec.rb
|
158
|
+
- spec/services/releaf/content/node/save_under_parent_spec.rb
|
159
|
+
- spec/services/releaf/content/node/service_spec.rb
|
142
160
|
- spec/validators/content/node/parent_validator_spec.rb
|
143
161
|
- spec/validators/content/node/root_validator_spec.rb
|
144
162
|
- spec/validators/content/node/singleness_validator_spec.rb
|
145
|
-
has_rdoc:
|
@@ -1 +0,0 @@
|
|
1
|
-
Releaf::Content::GoToDialogBuilder.new(self).output
|
@@ -1,18 +0,0 @@
|
|
1
|
-
root_path = File.expand_path('../..', File.dirname(__dir__))
|
2
|
-
files = %w(
|
3
|
-
builders/tree
|
4
|
-
builders/dialog
|
5
|
-
builders/action_dialog
|
6
|
-
content_type_dialog_builder
|
7
|
-
copy_dialog_builder
|
8
|
-
copy_dialog_builder
|
9
|
-
go_to_dialog_builder
|
10
|
-
move_dialog_builder
|
11
|
-
nodes/content_form_builder
|
12
|
-
nodes/form_builder
|
13
|
-
nodes/index_builder
|
14
|
-
nodes/toolbox_builder
|
15
|
-
)
|
16
|
-
files.each do|file|
|
17
|
-
require "#{root_path}/app/builders/releaf/content/#{file}"
|
18
|
-
end
|
data/releaf-content.gemspec
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require File.expand_path("../../releaf-core/lib/releaf/version.rb", __FILE__)
|
2
|
-
|
3
|
-
Gem::Specification.new do |s|
|
4
|
-
s.name = "releaf-content"
|
5
|
-
s.version = Releaf::VERSION
|
6
|
-
|
7
|
-
s.summary = "Node and content routes support for releaf"
|
8
|
-
s.description = "Content subsystem for releaf"
|
9
|
-
s.authors = ["CubeSystems"]
|
10
|
-
s.email = 'info@cubesystems.lv'
|
11
|
-
s.homepage = 'https://github.com/cubesystems/releaf'
|
12
|
-
|
13
|
-
s.files = `git ls-files`.split("\n")
|
14
|
-
s.test_files = Dir["spec/**/*"]
|
15
|
-
|
16
|
-
s.add_dependency 'releaf-core', Releaf::VERSION
|
17
|
-
s.add_dependency 'stringex'
|
18
|
-
s.add_dependency 'awesome_nested_set'
|
19
|
-
|
20
|
-
end
|