oreilly-snippets 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -3
- data/lib/oreilly/snippets/version.rb +1 -1
- data/lib/oreilly/snippets.rb +15 -8
- data/spec/process_spec.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15d1d4d047093c3b43eb0806790c3fa563cc67ac
|
4
|
+
data.tar.gz: 015db5a432fa389c815269492ac308232bdee236
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5d8bc7dcd875d854fb43339c3d599f93f3d6a7127b1af19f3dd3d67548b436577e6f3f0052be283528ba74e3b74d2996f35d4bff26957f8ba712f7c4b709fc3
|
7
|
+
data.tar.gz: 1c83c25ab9d7b3bea22ab4f51fd17d937470f14f780ecaa78437f17c831222b9eeaef8657f6f6397dad10c537ac352dc6f7a19a4aa5274f26e3b1b2a0297ad1e
|
data/README.md
CHANGED
@@ -104,14 +104,17 @@ The file structure I use for this:
|
|
104
104
|
* Store my pre-processed files in the /pre directory. These are the
|
105
105
|
files which have the snippets. I need to have a special directory
|
106
106
|
because this means Atlas will ignore them, and guard will process
|
107
|
-
the files into the Asciidoc files
|
107
|
+
the files into the Asciidoc files stored in the root of the directory,
|
108
|
+
the files which Atlas will process.
|
108
109
|
* In the directory root I have a bunch of .asciidoc files which are
|
109
110
|
the post-processed files, the files which have the snippets resolved
|
110
111
|
into real code.
|
111
|
-
* Guard watches both directories
|
112
|
+
* Guard watches both directories (the root and the /pre directory).
|
113
|
+
When I make a change to the files in
|
112
114
|
/pre, Guard regenerates the asciidoc files at the top level. When
|
113
115
|
Guard sees one of those files has been changed, it processes them
|
114
|
-
through Asciidoctor and then builds the HTML.
|
116
|
+
through Asciidoctor and then builds the HTML. You could combine these
|
117
|
+
into a single watch if you want.
|
115
118
|
* I serve the HTML file using a combination of pow (pow.cx) and
|
116
119
|
config.ru.
|
117
120
|
* Use the live-reload plugin for Chrome:
|
data/lib/oreilly/snippets.rb
CHANGED
@@ -11,17 +11,23 @@ module Oreilly
|
|
11
11
|
def self.get_content_from_file( spec, identifier, language, sha=nil, numbers=nil )
|
12
12
|
contents = nil
|
13
13
|
line_numbers = nil
|
14
|
+
error = false
|
14
15
|
|
15
16
|
if sha
|
16
|
-
if
|
17
|
-
|
18
|
-
|
17
|
+
if sha[0..2].eql? "xxx"
|
18
|
+
contents = "PLACEHOLDER TEXT, UPDATE WITH CORRECT SHA HASH"
|
19
|
+
else
|
20
|
+
if numbers
|
21
|
+
sae = numbers.split( ".." ).map { |d| Integer(d)+1 }
|
22
|
+
line_numbers = [sae[0], sae[1]]
|
23
|
+
end
|
24
|
+
# Use the filename to change into the directory and use git-show
|
25
|
+
cwd = Dir.pwd
|
26
|
+
Dir.chdir spec if spec
|
27
|
+
contents = `git show #{sha}`
|
28
|
+
error = true unless contents
|
29
|
+
Dir.chdir cwd if spec
|
19
30
|
end
|
20
|
-
# Use the filename to change into the directory and use git-show
|
21
|
-
cwd = Dir.pwd
|
22
|
-
Dir.chdir spec if spec
|
23
|
-
contents = `git show #{sha}`
|
24
|
-
Dir.chdir cwd if spec
|
25
31
|
else
|
26
32
|
contents = File.read( spec )
|
27
33
|
end
|
@@ -39,6 +45,7 @@ module Oreilly
|
|
39
45
|
rv = contents
|
40
46
|
end
|
41
47
|
|
48
|
+
rv = "INVALID SNIPPET, WARNING" if error
|
42
49
|
# rv = scrub_other_identifiers( contents, comments )
|
43
50
|
rv
|
44
51
|
end
|
data/spec/process_spec.rb
CHANGED
@@ -20,6 +20,13 @@ Put any descriptive text you want here. It will be replaced with the
|
|
20
20
|
snippet~~~~
|
21
21
|
END
|
22
22
|
|
23
|
+
WITH_PLACEHOLDER_SHA = <<END
|
24
|
+
[filename="#{ROOT}", language="js", sha="xxx:test.js"]
|
25
|
+
snippet~~~~
|
26
|
+
Put any descriptive text you want here. It will be replaced with the
|
27
|
+
snippet~~~~
|
28
|
+
END
|
29
|
+
|
23
30
|
ORIGINAL_CONTENTS = <<END
|
24
31
|
var mod = angular.module( 'coffeetech', [] )
|
25
32
|
mod.controller( 'ShopsCtrl', function( $scope ) {
|
@@ -170,7 +177,14 @@ describe Oreilly::Snippets do
|
|
170
177
|
original = lines[2..4].join "\n"
|
171
178
|
output.strip.should == original.strip
|
172
179
|
end
|
180
|
+
|
181
|
+
it "should indicate placeholder if using xxx as the sha" do
|
182
|
+
output = Oreilly::Snippets.process( WITH_PLACEHOLDER_SHA )
|
183
|
+
output.should match( /PLACEHOLDER/ )
|
184
|
+
end
|
173
185
|
end
|
186
|
+
|
187
|
+
|
174
188
|
|
175
189
|
end
|
176
190
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oreilly-snippets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Dawson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|