social_snippet 0.0.5 → 0.0.6
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 +8 -8
- data/.gitignore +1 -0
- data/README.md +5 -5
- data/lib/social_snippet/api/completion_api.rb +13 -0
- data/lib/social_snippet/api/config_api.rb +14 -0
- data/lib/social_snippet/api/insert_snippet_api.rb +15 -0
- data/lib/social_snippet/api/install_repository_api.rb +109 -0
- data/lib/social_snippet/api/manifest_api.rb +83 -0
- data/lib/social_snippet/api/registry_api.rb +8 -0
- data/lib/social_snippet/api/search_api.rb +44 -0
- data/lib/social_snippet/api/show_api.rb +10 -0
- data/lib/social_snippet/api/update_repository_api.rb +54 -0
- data/lib/social_snippet/api.rb +20 -309
- data/lib/social_snippet/repository/repository_manager.rb +3 -1
- data/lib/social_snippet/resolvers/base_resolver.rb +21 -0
- data/lib/social_snippet/resolvers/dep_resolver.rb +7 -2
- data/lib/social_snippet/resolvers/insert_resolver.rb +8 -4
- data/lib/social_snippet/tag.rb +8 -0
- data/lib/social_snippet/tag_parser.rb +12 -22
- data/lib/social_snippet/version.rb +1 -1
- data/social_snippet.gemspec +2 -0
- data/spec/lib/command_line/sspm_init_spec.rb +1 -1
- data/spec/lib/insert_resolver_spec.rb +164 -109
- data/spec/lib/repository/repository_manager_spec.rb +8 -1
- data/test/base_resolver_test.rb +43 -0
- metadata +14 -3
@@ -1,6 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe SocialSnippet::Resolvers::InsertResolver
|
3
|
+
describe SocialSnippet::Resolvers::InsertResolver do
|
4
4
|
|
5
5
|
context "prepare stubs" do
|
6
6
|
|
@@ -13,117 +13,172 @@ describe SocialSnippet::Resolvers::InsertResolver, :current => true do
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
describe "@begin_cut / @end_cut" do
|
17
|
+
|
18
|
+
describe "ruby's require()" do
|
19
|
+
|
20
|
+
before do
|
21
|
+
allow(fake_social_snippet.repo_manager).to receive(:get_snippet) do |c, t|
|
22
|
+
[
|
23
|
+
"def foo",
|
24
|
+
" 42",
|
25
|
+
"end",
|
26
|
+
].join($/)
|
27
|
+
end
|
28
|
+
end # prepare snippet
|
29
|
+
|
30
|
+
let(:resolver) do
|
31
|
+
::SocialSnippet::Resolvers::InsertResolver.new(fake_social_snippet)
|
32
|
+
end
|
33
|
+
|
34
|
+
let(:input) do
|
35
|
+
[
|
36
|
+
"# @begin_cut",
|
37
|
+
"require './foo'",
|
38
|
+
"# @end_cut",
|
39
|
+
"# @snip <./foo.rb>",
|
40
|
+
"",
|
41
|
+
"def bar",
|
42
|
+
" foo",
|
43
|
+
"end",
|
44
|
+
].join($/)
|
45
|
+
end
|
46
|
+
|
47
|
+
let(:expected) do
|
48
|
+
[
|
49
|
+
"# @snippet <foo.rb>",
|
50
|
+
"def foo",
|
51
|
+
" 42",
|
52
|
+
"end",
|
53
|
+
"",
|
54
|
+
"def bar",
|
55
|
+
" foo",
|
56
|
+
"end",
|
57
|
+
].join($/)
|
58
|
+
end
|
59
|
+
|
60
|
+
subject { resolver.insert input }
|
61
|
+
it { should eq expected }
|
17
62
|
|
18
|
-
let(:resolver) do
|
19
|
-
::SocialSnippet::Resolvers::InsertResolver.new(fake_social_snippet)
|
20
63
|
end
|
21
64
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
}
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
}
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
65
|
+
end # begin_cut / end_cut
|
66
|
+
|
67
|
+
describe "styling" do
|
68
|
+
|
69
|
+
context "no options" do
|
70
|
+
|
71
|
+
let(:resolver) do
|
72
|
+
::SocialSnippet::Resolvers::InsertResolver.new(fake_social_snippet)
|
73
|
+
end
|
74
|
+
|
75
|
+
let(:input) do
|
76
|
+
[
|
77
|
+
"// @snip <my-repo-1:path/to/file.d>",
|
78
|
+
"// @snip <my-repo-2:path/to/file.d>",
|
79
|
+
"// @snip <my-repo-3:path/to/file.d>",
|
80
|
+
].join($/)
|
81
|
+
end
|
82
|
+
|
83
|
+
let(:expected) do
|
84
|
+
[
|
85
|
+
"// @snippet <my-repo-1:path/to/file.d>",
|
86
|
+
"my-repo-1",
|
87
|
+
"// @snippet <my-repo-2:path/to/file.d>",
|
88
|
+
"my-repo-2",
|
89
|
+
"// @snippet <my-repo-3:path/to/file.d>",
|
90
|
+
"my-repo-3",
|
91
|
+
].join($/)
|
92
|
+
end
|
93
|
+
|
94
|
+
subject { resolver.insert input }
|
95
|
+
it { should eq expected }
|
96
|
+
|
97
|
+
end # no options
|
98
|
+
|
99
|
+
context ":margin_top => 3" do
|
100
|
+
|
101
|
+
let(:resolver) do
|
102
|
+
::SocialSnippet::Resolvers::InsertResolver.new(fake_social_snippet, {
|
103
|
+
:margin_top => 3,
|
104
|
+
})
|
105
|
+
end
|
106
|
+
|
107
|
+
let(:input) do
|
108
|
+
[
|
109
|
+
"// @snip <my-repo-1:path/to/file.d>",
|
110
|
+
"// @snip <my-repo-2:path/to/file.d>",
|
111
|
+
"// @snip <my-repo-3:path/to/file.d>",
|
112
|
+
].join($/)
|
113
|
+
end
|
114
|
+
|
115
|
+
let(:expected) do
|
116
|
+
[
|
117
|
+
"",
|
118
|
+
"",
|
119
|
+
"",
|
120
|
+
"// @snippet <my-repo-1:path/to/file.d>",
|
121
|
+
"my-repo-1",
|
122
|
+
"",
|
123
|
+
"",
|
124
|
+
"",
|
125
|
+
"// @snippet <my-repo-2:path/to/file.d>",
|
126
|
+
"my-repo-2",
|
127
|
+
"",
|
128
|
+
"",
|
129
|
+
"",
|
130
|
+
"// @snippet <my-repo-3:path/to/file.d>",
|
131
|
+
"my-repo-3",
|
132
|
+
].join($/)
|
133
|
+
end
|
134
|
+
|
135
|
+
subject { resolver.insert input }
|
136
|
+
it { should eq expected }
|
137
|
+
|
138
|
+
end # :margin_top
|
139
|
+
|
140
|
+
context ":margin_bottom => 3" do
|
141
|
+
|
142
|
+
let(:resolver) do
|
143
|
+
::SocialSnippet::Resolvers::InsertResolver.new(fake_social_snippet, {
|
144
|
+
:margin_bottom => 3,
|
145
|
+
})
|
146
|
+
end
|
147
|
+
|
148
|
+
let(:input) do
|
149
|
+
[
|
150
|
+
"// @snip <my-repo-1:path/to/file.d>",
|
151
|
+
"// @snip <my-repo-2:path/to/file.d>",
|
152
|
+
"// @snip <my-repo-3:path/to/file.d>",
|
153
|
+
].join($/)
|
154
|
+
end
|
155
|
+
|
156
|
+
let(:expected) do
|
157
|
+
[
|
158
|
+
"// @snippet <my-repo-1:path/to/file.d>",
|
159
|
+
"my-repo-1",
|
160
|
+
"",
|
161
|
+
"",
|
162
|
+
"",
|
163
|
+
"// @snippet <my-repo-2:path/to/file.d>",
|
164
|
+
"my-repo-2",
|
165
|
+
"",
|
166
|
+
"",
|
167
|
+
"",
|
168
|
+
"// @snippet <my-repo-3:path/to/file.d>",
|
169
|
+
"my-repo-3",
|
170
|
+
"",
|
171
|
+
"",
|
172
|
+
"",
|
173
|
+
].join($/)
|
174
|
+
end
|
175
|
+
|
176
|
+
subject { resolver.insert input }
|
177
|
+
it { should eq expected }
|
178
|
+
|
179
|
+
end # :margin_bottom
|
180
|
+
|
181
|
+
end # test styling
|
127
182
|
|
128
183
|
end # prepare stubs
|
129
184
|
|
@@ -2,7 +2,7 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
module SocialSnippet::Repository
|
4
4
|
|
5
|
-
describe RepositoryManager
|
5
|
+
describe RepositoryManager do
|
6
6
|
|
7
7
|
before { stub_const "ENV", "SOCIAL_SNIPPET_HOME" => "/path/to" }
|
8
8
|
|
@@ -124,6 +124,13 @@ module SocialSnippet::Repository
|
|
124
124
|
|
125
125
|
let(:repo_path) { "#{ENV["SOCIAL_SNIPPET_HOME"]}/repo" }
|
126
126
|
|
127
|
+
context "passed empty name" do
|
128
|
+
|
129
|
+
it { expect(repo_manager.find_repository(nil)).to be_nil }
|
130
|
+
it { expect(repo_manager.find_repository("")).to be_nil }
|
131
|
+
|
132
|
+
end
|
133
|
+
|
127
134
|
context "create repo_a as a git repo" do
|
128
135
|
|
129
136
|
before do
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module SocialSnippet::Resolvers
|
4
|
+
|
5
|
+
describe BaseResolver do
|
6
|
+
|
7
|
+
let(:resolver) { BaseResolver.new(fake_social_snippet) }
|
8
|
+
|
9
|
+
describe "#filter()" do
|
10
|
+
|
11
|
+
context "cutting (cpp)" do
|
12
|
+
|
13
|
+
let(:input) do
|
14
|
+
[
|
15
|
+
"// @begin_cut",
|
16
|
+
"#include <test>",
|
17
|
+
"// @end_cut",
|
18
|
+
"",
|
19
|
+
"int main() {",
|
20
|
+
" return 0;",
|
21
|
+
"}",
|
22
|
+
]
|
23
|
+
end
|
24
|
+
|
25
|
+
let(:expected) do
|
26
|
+
[
|
27
|
+
"",
|
28
|
+
"int main() {",
|
29
|
+
" return 0;",
|
30
|
+
"}",
|
31
|
+
]
|
32
|
+
end
|
33
|
+
|
34
|
+
subject { resolver.filter(input) }
|
35
|
+
it { should eq expected }
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end # BaseResolver
|
42
|
+
|
43
|
+
end # SocialSnippet::Resolvers
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: social_snippet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroyuki Sano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: version_sorter
|
@@ -219,6 +219,15 @@ files:
|
|
219
219
|
- bin/sspm
|
220
220
|
- lib/social_snippet.rb
|
221
221
|
- lib/social_snippet/api.rb
|
222
|
+
- lib/social_snippet/api/completion_api.rb
|
223
|
+
- lib/social_snippet/api/config_api.rb
|
224
|
+
- lib/social_snippet/api/insert_snippet_api.rb
|
225
|
+
- lib/social_snippet/api/install_repository_api.rb
|
226
|
+
- lib/social_snippet/api/manifest_api.rb
|
227
|
+
- lib/social_snippet/api/registry_api.rb
|
228
|
+
- lib/social_snippet/api/search_api.rb
|
229
|
+
- lib/social_snippet/api/show_api.rb
|
230
|
+
- lib/social_snippet/api/update_repository_api.rb
|
222
231
|
- lib/social_snippet/command_line.rb
|
223
232
|
- lib/social_snippet/command_line/command.rb
|
224
233
|
- lib/social_snippet/command_line/ssnip.rb
|
@@ -286,6 +295,7 @@ files:
|
|
286
295
|
- spec/lib/tag_spec.rb
|
287
296
|
- spec/spec_helper.rb
|
288
297
|
- test/base_repository_test.rb
|
298
|
+
- test/base_resolver_test.rb
|
289
299
|
- test/command_test.rb
|
290
300
|
- test/config_test.rb
|
291
301
|
- test/context_test.rb
|
@@ -308,7 +318,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
308
318
|
requirements:
|
309
319
|
- - ! '>='
|
310
320
|
- !ruby/object:Gem::Version
|
311
|
-
version:
|
321
|
+
version: 1.9.3
|
312
322
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
313
323
|
requirements:
|
314
324
|
- - ! '>='
|
@@ -345,6 +355,7 @@ test_files:
|
|
345
355
|
- spec/lib/tag_spec.rb
|
346
356
|
- spec/spec_helper.rb
|
347
357
|
- test/base_repository_test.rb
|
358
|
+
- test/base_resolver_test.rb
|
348
359
|
- test/command_test.rb
|
349
360
|
- test/config_test.rb
|
350
361
|
- test/context_test.rb
|