doc_repo 0.0.1 → 0.0.2
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/.gitignore +7 -1
- data/.travis.yml +14 -0
- data/Gemfile +5 -0
- data/README.md +2 -1
- data/doc_repo.gemspec +8 -7
- data/lib/doc_repo.rb +6 -7
- data/lib/doc_repo/configuration.rb +3 -2
- data/lib/doc_repo/converters/markdown_parser.rb +5 -4
- data/lib/doc_repo/github_file.rb +1 -1
- data/lib/doc_repo/page.rb +2 -0
- data/lib/doc_repo/response.rb +2 -2
- data/lib/doc_repo/version.rb +1 -1
- data/spec/doc_repo/configuration_spec.rb +55 -0
- data/spec/doc_repo/page_spec.rb +7 -7
- data/spec/doc_repo/response_spec.rb +3 -3
- data/spec/spec_helper.rb +5 -12
- data/spec/support/using_env.rb +26 -0
- metadata +21 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc7d8c08c2b6224d86b67f6d1a3fbaa7eeba0c9d
|
4
|
+
data.tar.gz: b6d49db3309f95fe6dc30d97b2ae45dc02522242
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19488fa0c31b900f1f679c309c9921627fa0a9963a312c2657323c5938ae425328701ebcdda02382c234f69c859a88c44c1c4bf852617247bf4d07141739a35f
|
7
|
+
data.tar.gz: aec5d27ab0a945616e4d08fd02ffcaca3c75e94da608dd20b0710d6589166125a769208e68301c9672eb39044744a3be27b62df055162371b4dd441e667c6484
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -43,7 +43,8 @@ Create a controller to render the documentation pages. In Rails you might use so
|
|
43
43
|
```ruby
|
44
44
|
class DocsController < ApplicationController
|
45
45
|
def index
|
46
|
-
# If you don't want to store the index view in the app, just redirect to
|
46
|
+
# If you don't want to store the index view in the app, just redirect to
|
47
|
+
# one of the documentation pages:
|
47
48
|
redirect_to doc_path('index')
|
48
49
|
end
|
49
50
|
|
data/doc_repo.gemspec
CHANGED
@@ -9,21 +9,22 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Christopher Sexton"]
|
10
10
|
spec.email = ["github@codeography.com"]
|
11
11
|
spec.summary = "Doc Repo: Load in app documentation via an external Github repo"
|
12
|
-
spec.description = ""
|
13
|
-
spec.homepage = ""
|
12
|
+
spec.description = "Doc Repo: Load in app documentation via an external Github repo"
|
13
|
+
spec.homepage = "https://github.com/RadiusNetworks/doc_repo"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
|
-
spec.executables =
|
17
|
+
spec.executables = %w[ ]
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.
|
22
|
-
|
21
|
+
spec.required_ruby_version = '~> 2.0'
|
22
|
+
|
23
|
+
spec.add_dependency "rouge", "~> 1.8"
|
24
|
+
spec.add_dependency "redcarpet", "~> 3.2"
|
23
25
|
|
24
26
|
spec.add_development_dependency "bundler", "~> 1.6"
|
25
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
-
spec.add_development_dependency "webmock", "~> 1.0"
|
27
28
|
spec.add_development_dependency "rspec", "~> 3.0"
|
28
|
-
spec.add_development_dependency "
|
29
|
+
spec.add_development_dependency "webmock", "~> 1.0"
|
29
30
|
end
|
data/lib/doc_repo.rb
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
require "doc_repo/version"
|
2
2
|
|
3
|
-
require "doc_repo/configuration"
|
4
|
-
require "doc_repo/github_file"
|
5
|
-
require "doc_repo/page"
|
6
|
-
require "doc_repo/repository"
|
7
|
-
require "doc_repo/response"
|
8
|
-
require "doc_repo/converters/markdown_parser"
|
9
|
-
|
10
3
|
module DocRepo
|
4
|
+
autoload :Configuration, "doc_repo/configuration"
|
5
|
+
autoload :GithubFile, "doc_repo/github_file"
|
6
|
+
autoload :Page, "doc_repo/page"
|
7
|
+
autoload :Repository, "doc_repo/repository"
|
8
|
+
autoload :Response, "doc_repo/response"
|
9
|
+
|
11
10
|
BadPageFormat = Class.new(StandardError)
|
12
11
|
NotFound = Class.new(StandardError)
|
13
12
|
|
@@ -25,11 +25,12 @@ module DocRepo
|
|
25
25
|
"<div class=\"highlight\">#{add_code_tags(code, lang)}</div>"
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
protected
|
29
29
|
|
30
|
-
def rouge_formatter(
|
31
|
-
Rouge::Formatters::HTML.new(
|
30
|
+
def rouge_formatter(lexer)
|
31
|
+
Rouge::Formatters::HTML.new(wrap: false)
|
32
32
|
end
|
33
|
+
|
33
34
|
end
|
34
35
|
|
35
36
|
def initialize(config)
|
@@ -51,8 +52,8 @@ module DocRepo
|
|
51
52
|
markdown.render(content)
|
52
53
|
end
|
53
54
|
|
54
|
-
private
|
55
55
|
attr_reader :config, :extensions, :renderer
|
56
|
+
private :config, :extensions, :renderer
|
56
57
|
end
|
57
58
|
end
|
58
59
|
end
|
data/lib/doc_repo/github_file.rb
CHANGED
data/lib/doc_repo/page.rb
CHANGED
data/lib/doc_repo/response.rb
CHANGED
data/lib/doc_repo/version.rb
CHANGED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'support/using_env'
|
2
|
+
|
3
|
+
RSpec.describe DocRepo::Configuration do
|
4
|
+
|
5
|
+
context "without environment variables configured" do
|
6
|
+
subject(:default_config) { DocRepo::Configuration.new }
|
7
|
+
|
8
|
+
around do |example|
|
9
|
+
env = {
|
10
|
+
'DOC_REPO_ORG' => nil,
|
11
|
+
'DOC_REPO_REPONAME' => nil,
|
12
|
+
'DOC_REPO_BRANCH' => nil,
|
13
|
+
}
|
14
|
+
using_env(env, &example)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "has no org" do
|
18
|
+
expect(default_config.org).to be nil
|
19
|
+
end
|
20
|
+
|
21
|
+
it "has no repo" do
|
22
|
+
expect(default_config.repo).to be nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it "use the 'master' branch" do
|
26
|
+
expect(default_config.branch).to eq 'master'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "with environment variables configured" do
|
31
|
+
subject(:default_env_config) { DocRepo::Configuration.new }
|
32
|
+
|
33
|
+
around do |example|
|
34
|
+
env = {
|
35
|
+
'DOC_REPO_ORG' => 'the-silence',
|
36
|
+
'DOC_REPO_REPONAME' => 'falls',
|
37
|
+
'DOC_REPO_BRANCH' => 'ask_the_question',
|
38
|
+
}
|
39
|
+
using_env(env, &example)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "uses DOC_REPO_ORG for the default org" do
|
43
|
+
expect(default_env_config.org).to eq 'the-silence'
|
44
|
+
end
|
45
|
+
|
46
|
+
it "uses DOC_REPO_REPONAME for the default repo" do
|
47
|
+
expect(default_env_config.repo).to eq 'falls'
|
48
|
+
end
|
49
|
+
|
50
|
+
it "uses DOC_REPO_BRANCH for the default branch" do
|
51
|
+
expect(default_env_config.branch).to eq 'ask_the_question'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
data/spec/doc_repo/page_spec.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
require '
|
1
|
+
require 'support/string'
|
2
|
+
require 'webmock/rspec'
|
2
3
|
|
3
4
|
RSpec.describe DocRepo::Page do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
before do
|
6
|
+
DocRepo.configure do |c|
|
7
|
+
c.org = 'RadiusNetworks'
|
8
|
+
c.repo = 'doc_spec'
|
9
|
+
c.branch = 'master'
|
9
10
|
end
|
10
11
|
end
|
11
12
|
|
@@ -19,7 +20,6 @@ RSpec.describe DocRepo::Page do
|
|
19
20
|
stub_request(:get, "https://api.github.com/repos/RadiusNetworks/doc_spec/contents/docs/page.md?ref=master")
|
20
21
|
.to_return(body: body)
|
21
22
|
|
22
|
-
|
23
23
|
page = DocRepo::Page.new("page")
|
24
24
|
expect(page.to_html).to eq <<-END.strip_heredoc
|
25
25
|
<h1 id=\"a-heading\">A heading</h1>
|
@@ -3,17 +3,17 @@ require 'spec_helper'
|
|
3
3
|
RSpec.describe DocRepo::Page do
|
4
4
|
it "calls html block with 1 param" do
|
5
5
|
resp = DocRepo::Response.html 1
|
6
|
-
expect { |b| resp.html
|
6
|
+
expect { |b| resp.html(&b) }.to yield_with_args(1)
|
7
7
|
end
|
8
8
|
|
9
9
|
it "calls html block with 2 params" do
|
10
10
|
resp = DocRepo::Response.html 1, 2
|
11
|
-
expect { |b| resp.html
|
11
|
+
expect { |b| resp.html(&b) }.to yield_with_args(1, 2)
|
12
12
|
end
|
13
13
|
|
14
14
|
it "calls file block with 1 param" do
|
15
15
|
resp = DocRepo::Response.html "/path/to/file"
|
16
|
-
expect { |b| resp.html
|
16
|
+
expect { |b| resp.html(&b) }.to yield_with_args("/path/to/file")
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,17 +1,7 @@
|
|
1
|
-
|
2
|
-
require '
|
3
|
-
require 'doc_repo'
|
4
|
-
|
5
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
1
|
+
# This is a very warning riddled gem, load it before we enable warnings
|
2
|
+
require 'rouge'
|
6
3
|
|
7
4
|
RSpec.configure do |config|
|
8
|
-
|
9
|
-
config.before do
|
10
|
-
DocRepo.configure do |c|
|
11
|
-
c.org = 'RadiusNetworks'
|
12
|
-
c.repo = 'doc_spec'
|
13
|
-
end
|
14
|
-
end
|
15
5
|
config.expect_with :rspec do |expectations|
|
16
6
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
17
7
|
end
|
@@ -27,3 +17,6 @@ RSpec.configure do |config|
|
|
27
17
|
end
|
28
18
|
Kernel.srand config.seed
|
29
19
|
end
|
20
|
+
|
21
|
+
# Load our lib after warnings are enabled so we can fix them
|
22
|
+
require 'doc_repo'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module DocRepo
|
2
|
+
module RSpec
|
3
|
+
module Helpers
|
4
|
+
|
5
|
+
# By forcing the use of a block, this makes working within the context of
|
6
|
+
# a single spec much easier. If this needs to be wrapped around multiple
|
7
|
+
# specs, then an appropriate #around(:example) hook may be used.
|
8
|
+
def using_env(env_stubs, &lifetime)
|
9
|
+
keys_to_delete = env_stubs.keys - ENV.keys
|
10
|
+
original_values = env_stubs.each_with_object({}) { |(k, v), env|
|
11
|
+
env[k] = ENV[k] if ENV.has_key?(k)
|
12
|
+
ENV[k] = v
|
13
|
+
}
|
14
|
+
lifetime.call
|
15
|
+
ensure
|
16
|
+
keys_to_delete.each{ |k| ENV.delete(k) }
|
17
|
+
original_values.each{ |k, v| ENV[k] = v }
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
RSpec.configure do |config|
|
25
|
+
config.include DocRepo::RSpec::Helpers
|
26
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doc_repo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christopher Sexton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rouge
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.8'
|
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: '1.
|
26
|
+
version: '1.8'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: redcarpet
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '3.
|
33
|
+
version: '3.2'
|
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: '3.
|
40
|
+
version: '3.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '10.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: webmock
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rspec
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,20 +81,20 @@ dependencies:
|
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '3.0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
84
|
+
name: webmock
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- - "
|
87
|
+
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
89
|
+
version: '1.0'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- - "
|
94
|
+
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
description: ''
|
96
|
+
version: '1.0'
|
97
|
+
description: 'Doc Repo: Load in app documentation via an external Github repo'
|
112
98
|
email:
|
113
99
|
- github@codeography.com
|
114
100
|
executables: []
|
@@ -117,6 +103,7 @@ extra_rdoc_files: []
|
|
117
103
|
files:
|
118
104
|
- ".gitignore"
|
119
105
|
- ".rspec"
|
106
|
+
- ".travis.yml"
|
120
107
|
- Gemfile
|
121
108
|
- LICENSE.txt
|
122
109
|
- README.md
|
@@ -130,13 +117,15 @@ files:
|
|
130
117
|
- lib/doc_repo/repository.rb
|
131
118
|
- lib/doc_repo/response.rb
|
132
119
|
- lib/doc_repo/version.rb
|
120
|
+
- spec/doc_repo/configuration_spec.rb
|
133
121
|
- spec/doc_repo/page_spec.rb
|
134
122
|
- spec/doc_repo/repository_spec.rb
|
135
123
|
- spec/doc_repo/response_spec.rb
|
136
124
|
- spec/doc_repo_spec.rb
|
137
125
|
- spec/spec_helper.rb
|
138
126
|
- spec/support/string.rb
|
139
|
-
|
127
|
+
- spec/support/using_env.rb
|
128
|
+
homepage: https://github.com/RadiusNetworks/doc_repo
|
140
129
|
licenses:
|
141
130
|
- MIT
|
142
131
|
metadata: {}
|
@@ -146,9 +135,9 @@ require_paths:
|
|
146
135
|
- lib
|
147
136
|
required_ruby_version: !ruby/object:Gem::Requirement
|
148
137
|
requirements:
|
149
|
-
- - "
|
138
|
+
- - "~>"
|
150
139
|
- !ruby/object:Gem::Version
|
151
|
-
version: '0'
|
140
|
+
version: '2.0'
|
152
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
142
|
requirements:
|
154
143
|
- - ">="
|
@@ -156,14 +145,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
145
|
version: '0'
|
157
146
|
requirements: []
|
158
147
|
rubyforge_project:
|
159
|
-
rubygems_version: 2.
|
148
|
+
rubygems_version: 2.4.5
|
160
149
|
signing_key:
|
161
150
|
specification_version: 4
|
162
151
|
summary: 'Doc Repo: Load in app documentation via an external Github repo'
|
163
152
|
test_files:
|
153
|
+
- spec/doc_repo/configuration_spec.rb
|
164
154
|
- spec/doc_repo/page_spec.rb
|
165
155
|
- spec/doc_repo/repository_spec.rb
|
166
156
|
- spec/doc_repo/response_spec.rb
|
167
157
|
- spec/doc_repo_spec.rb
|
168
158
|
- spec/spec_helper.rb
|
169
159
|
- spec/support/string.rb
|
160
|
+
- spec/support/using_env.rb
|