brief 0.0.5 → 1.0.0
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/Gemfile +1 -1
- data/Gemfile.lock +71 -55
- data/README.md +149 -48
- data/Rakefile +15 -5
- data/bin/brief +15 -28
- data/brief.gemspec +17 -11
- data/examples/blog/brief.rb +54 -0
- data/examples/blog/docs/an-intro-to-brief.html.md +9 -0
- data/lib/.DS_Store +0 -0
- data/lib/brief/briefcase.rb +78 -0
- data/lib/brief/cli/change.rb +14 -0
- data/lib/brief/cli/init.rb +66 -0
- data/{spec/fixtures/generated/project_overview.json → lib/brief/cli/publish.rb} +0 -0
- data/lib/brief/cli/write.rb +0 -0
- data/lib/brief/configuration.rb +19 -115
- data/lib/brief/core_ext.rb +11 -0
- data/lib/brief/document/content_extractor.rb +33 -0
- data/lib/brief/document/front_matter.rb +20 -0
- data/lib/brief/document/rendering.rb +37 -0
- data/lib/brief/document.rb +43 -38
- data/lib/brief/document_mapper.rb +158 -0
- data/lib/brief/dsl.rb +42 -0
- data/lib/brief/model/definition.rb +117 -0
- data/lib/brief/model.rb +177 -0
- data/lib/brief/repository.rb +57 -0
- data/lib/brief/version.rb +1 -7
- data/lib/brief.rb +35 -40
- data/spec/fixtures/example/brief.rb +27 -0
- data/spec/fixtures/example/docs/concept.html.md +5 -0
- data/spec/fixtures/example/docs/epic.html.md +19 -0
- data/spec/fixtures/example/docs/persona.html.md +5 -0
- data/spec/fixtures/example/docs/release.html.md +7 -0
- data/spec/fixtures/example/docs/resource.html.md +5 -0
- data/spec/fixtures/example/docs/user_story.html.md +24 -0
- data/spec/fixtures/example/docs/wireframe.html.md +5 -0
- data/spec/fixtures/example/models/epic.rb +16 -0
- data/spec/lib/brief/briefcase_spec.rb +27 -0
- data/spec/lib/brief/document_spec.rb +14 -22
- data/spec/lib/brief/dsl_spec.rb +4 -15
- data/spec/lib/brief/model_spec.rb +84 -0
- data/spec/lib/brief/repository_spec.rb +60 -0
- data/spec/spec_helper.rb +12 -14
- data/spec/support/test_helpers.rb +0 -0
- data/tasks/brief/release.rake +0 -0
- metadata +120 -110
- data/.gitignore +0 -1
- data/Guardfile +0 -5
- data/examples/project_overview.md +0 -23
- data/lib/brief/cli/commands/config.rb +0 -40
- data/lib/brief/cli/commands/publish.rb +0 -27
- data/lib/brief/cli/commands/write.rb +0 -27
- data/lib/brief/formatters/base.rb +0 -12
- data/lib/brief/formatters/github_milestone_rollup.rb +0 -52
- data/lib/brief/git.rb +0 -19
- data/lib/brief/github/wiki.rb +0 -9
- data/lib/brief/github.rb +0 -141
- data/lib/brief/github_client/authentication.rb +0 -32
- data/lib/brief/github_client/client.rb +0 -86
- data/lib/brief/github_client/commands.rb +0 -5
- data/lib/brief/github_client/issue_labels.rb +0 -65
- data/lib/brief/github_client/issues.rb +0 -22
- data/lib/brief/github_client/milestone_issues.rb +0 -13
- data/lib/brief/github_client/organization_activity.rb +0 -9
- data/lib/brief/github_client/organization_issues.rb +0 -13
- data/lib/brief/github_client/organization_repositories.rb +0 -20
- data/lib/brief/github_client/organization_users.rb +0 -9
- data/lib/brief/github_client/repository_events.rb +0 -8
- data/lib/brief/github_client/repository_issue_events.rb +0 -9
- data/lib/brief/github_client/repository_issues.rb +0 -8
- data/lib/brief/github_client/repository_labels.rb +0 -18
- data/lib/brief/github_client/repository_milestones.rb +0 -9
- data/lib/brief/github_client/request.rb +0 -181
- data/lib/brief/github_client/request_wrapper.rb +0 -121
- data/lib/brief/github_client/response_object.rb +0 -50
- data/lib/brief/github_client/single_repository.rb +0 -9
- data/lib/brief/github_client/user_activity.rb +0 -16
- data/lib/brief/github_client/user_gists.rb +0 -9
- data/lib/brief/github_client/user_info.rb +0 -9
- data/lib/brief/github_client/user_issues.rb +0 -13
- data/lib/brief/github_client/user_organizations.rb +0 -9
- data/lib/brief/github_client/user_repositories.rb +0 -9
- data/lib/brief/github_client.rb +0 -43
- data/lib/brief/handlers/base.rb +0 -62
- data/lib/brief/handlers/github_issue.rb +0 -41
- data/lib/brief/handlers/github_milestone.rb +0 -37
- data/lib/brief/handlers/github_wiki.rb +0 -11
- data/lib/brief/line.rb +0 -69
- data/lib/brief/parser.rb +0 -354
- data/lib/brief/publisher/handler_manager.rb +0 -47
- data/lib/brief/publisher.rb +0 -142
- data/lib/brief/tree.rb +0 -43
- data/lib/core_ext.rb +0 -37
- data/spec/fixtures/front_end_tutorial.md +0 -33
- data/spec/fixtures/generator_dsl_example.rb +0 -22
- data/spec/fixtures/project_overview.md +0 -48
- data/spec/fixtures/sample.md +0 -19
- data/spec/lib/brief/line_spec.rb +0 -11
- data/spec/lib/brief/parser_spec.rb +0 -12
@@ -0,0 +1,84 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "The Brief Model" do
|
4
|
+
let(:briefcase) { Brief.example }
|
5
|
+
let(:epic) { briefcase.epics.first }
|
6
|
+
let(:user_story) { briefcase.user_stories.first }
|
7
|
+
|
8
|
+
context "DSL Style Declarations" do
|
9
|
+
it "picks up a definition of 'User Story'" do
|
10
|
+
expect(briefcase.model("User Story")).to be_present
|
11
|
+
end
|
12
|
+
|
13
|
+
it "defines a class for us" do
|
14
|
+
expect((Brief::Model::UserStory rescue nil)).to be_present
|
15
|
+
end
|
16
|
+
|
17
|
+
it "shows up in the model definitions table" do
|
18
|
+
expect(Brief::Model.table.user_story).to be_present
|
19
|
+
end
|
20
|
+
|
21
|
+
it "has a definition" do
|
22
|
+
expect(Brief::Model::UserStory.definition).to be_a(Brief::Model::Definition)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "has paths and document attributes by default" do
|
26
|
+
set = Brief::Model::UserStory.attribute_set.map(&:name)
|
27
|
+
expect(set).to include(:path, :document)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "has the attributes defined in the DSL" do
|
31
|
+
set = Brief::Model::UserStory.attribute_set.map(&:name)
|
32
|
+
expect(set).to include(:title, :status, :epic_title)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "Class Definitions" do
|
37
|
+
it "picks up a defintion of 'Epic'" do
|
38
|
+
expect((Brief::Epic rescue nil)).to be_present
|
39
|
+
end
|
40
|
+
|
41
|
+
it "shows up in the model definitions table" do
|
42
|
+
expect(Brief::Model.table.epic).to be_present
|
43
|
+
end
|
44
|
+
|
45
|
+
it "has a definition" do
|
46
|
+
expect(Brief::Epic.definition).to be_a(Brief::Model::Definition)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "has paths and document attributes by default" do
|
50
|
+
set = Brief::Epic.attribute_set.map(&:name)
|
51
|
+
expect(set).to include(:path, :document)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "has the attributes defined inline in the class methods" do
|
55
|
+
set = Brief::Epic.attribute_set.map(&:name)
|
56
|
+
expect(set).to include(:path, :document, :title, :status)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "Briefcase Finders" do
|
61
|
+
it "creates methods on the briefcase for each class" do
|
62
|
+
expect(briefcase.epics).not_to be_empty
|
63
|
+
expect(briefcase.user_stories).not_to be_empty
|
64
|
+
end
|
65
|
+
|
66
|
+
it "finds instances of the desired model" do
|
67
|
+
expect(briefcase.epics.first).to be_a(Brief::Epic)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context "Document Content Extraction" do
|
72
|
+
it "has a relationship to the underlying document" do
|
73
|
+
expect(epic.document).to be_a(Brief::Document)
|
74
|
+
end
|
75
|
+
|
76
|
+
it "has a content extractor" do
|
77
|
+
expect(epic.extracted).to be_a(Brief::Document::ContentExtractor)
|
78
|
+
end
|
79
|
+
|
80
|
+
it "uses the configured content extractor settings" do
|
81
|
+
expect(epic.extracted.title).to eq("Blueprint Epic Example")
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "The Brief Document Repository" do
|
4
|
+
let(:repository) { Brief.example.repository }
|
5
|
+
|
6
|
+
it "has a bunch of documents" do
|
7
|
+
expect(repository.documents).not_to be_empty
|
8
|
+
end
|
9
|
+
|
10
|
+
context "querying api" do
|
11
|
+
it "finds the first document matching a query" do
|
12
|
+
query = repository.where(state:"active")
|
13
|
+
expect(query.first.type).to eq("epic")
|
14
|
+
end
|
15
|
+
|
16
|
+
it "finds the last document matching a query" do
|
17
|
+
query = repository.where(state:"active")
|
18
|
+
expect(query.last.type).to eq("user_story")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "respects the ordering" do
|
22
|
+
types = repository.order_by(:type).map(&:type)
|
23
|
+
expect(types.first).to eq("concept")
|
24
|
+
expect(types.last).to eq("wireframe")
|
25
|
+
|
26
|
+
types = repository.order_by(:type => :desc).map(&:type)
|
27
|
+
expect(types.last).to eq("concept")
|
28
|
+
expect(types.first).to eq("wireframe")
|
29
|
+
end
|
30
|
+
|
31
|
+
it "supports different operators" do
|
32
|
+
query = repository.where(:type.neq => "epic")
|
33
|
+
expect(query.length).to eq(6)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "limits the results to the specified size" do
|
37
|
+
query = repository.where(:type.neq => "epic").limit(3)
|
38
|
+
expect(query.length).to eq(3)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "allows me to use an offset" do
|
42
|
+
one = repository.where(:type.neq => "epic").limit(3).offset(1).map(&:type).to_set
|
43
|
+
two = repository.where(:type.neq => "epic").limit(3).offset(2).map(&:type).to_set
|
44
|
+
expect(one).not_to eq(two)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "can filter documents by their attributes" do
|
48
|
+
query = repository.where(state:"active")
|
49
|
+
expect(query.length).to eq(2)
|
50
|
+
query = repository.where(title:"Blueprint Epic Example")
|
51
|
+
expect(query.length).to eq(1)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "returns empty result set when nothing matches" do
|
55
|
+
query = repository.where(type:"some bullshit")
|
56
|
+
expect(query.length).to eq(0)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,25 +1,23 @@
|
|
1
|
-
spec = File.dirname(__FILE__)
|
2
|
-
$LOAD_PATH.unshift(spec) unless $LOAD_PATH.include?(spec)
|
3
|
-
|
4
|
-
lib = File.join(File.dirname(__FILE__), '../lib')
|
5
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
6
|
-
|
7
1
|
require 'pry'
|
8
2
|
require 'brief'
|
9
3
|
|
4
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
5
|
+
|
10
6
|
module Brief
|
11
|
-
def self.
|
12
|
-
|
7
|
+
def self.spec_root
|
8
|
+
Pathname(File.dirname(__FILE__))
|
13
9
|
end
|
14
10
|
|
15
|
-
def self.
|
16
|
-
|
11
|
+
def self.example_path
|
12
|
+
example.root
|
17
13
|
end
|
18
14
|
|
19
|
-
def self.
|
20
|
-
|
21
|
-
Pathname(spec).join("fixtures")
|
15
|
+
def self.example
|
16
|
+
@example ||= Brief::Briefcase.new(root:spec_root.join("fixtures","example"))
|
22
17
|
end
|
23
18
|
end
|
24
19
|
|
25
|
-
|
20
|
+
RSpec.configure do |config|
|
21
|
+
config.mock_with :rspec
|
22
|
+
#config.order = "random"
|
23
|
+
end
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,186 +1,213 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brief
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Soeder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
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
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: commander
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
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
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: github-fs
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
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
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: virtus
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.3
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.0.3
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: inflecto
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ">="
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: activemodel
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0'
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: activesupport
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ">="
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
-
type: :
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
112
|
+
name: redcarpet
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
|
-
type: :
|
118
|
+
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
126
|
+
name: nokogiri
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
118
|
-
type: :
|
132
|
+
type: :runtime
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
135
|
requirements:
|
122
|
-
- -
|
136
|
+
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: bundler
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
|
-
- -
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.3'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.3'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rake
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
130
158
|
- !ruby/object:Gem::Version
|
131
159
|
version: '0'
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
|
-
- -
|
164
|
+
- - ">="
|
137
165
|
- !ruby/object:Gem::Version
|
138
166
|
version: '0'
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
|
-
name: pry
|
168
|
+
name: pry
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
142
170
|
requirements:
|
143
|
-
- -
|
171
|
+
- - ">="
|
144
172
|
- !ruby/object:Gem::Version
|
145
173
|
version: '0'
|
146
174
|
type: :development
|
147
175
|
prerelease: false
|
148
176
|
version_requirements: !ruby/object:Gem::Requirement
|
149
177
|
requirements:
|
150
|
-
- -
|
178
|
+
- - ">="
|
151
179
|
- !ruby/object:Gem::Version
|
152
180
|
version: '0'
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
182
|
+
name: pry-nav
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
156
184
|
requirements:
|
157
|
-
- -
|
185
|
+
- - ">="
|
158
186
|
- !ruby/object:Gem::Version
|
159
187
|
version: '0'
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
|
-
- -
|
192
|
+
- - ">="
|
165
193
|
- !ruby/object:Gem::Version
|
166
194
|
version: '0'
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
196
|
+
name: rspec
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
170
198
|
requirements:
|
171
|
-
- -
|
199
|
+
- - ">="
|
172
200
|
- !ruby/object:Gem::Version
|
173
201
|
version: '0'
|
174
202
|
type: :development
|
175
203
|
prerelease: false
|
176
204
|
version_requirements: !ruby/object:Gem::Requirement
|
177
205
|
requirements:
|
178
|
-
- -
|
206
|
+
- - ">="
|
179
207
|
- !ruby/object:Gem::Version
|
180
208
|
version: '0'
|
181
|
-
description: Brief is a
|
182
|
-
|
183
|
-
command line and a single file.
|
209
|
+
description: Brief is a library for developing applications whose primary interface
|
210
|
+
is the text editor
|
184
211
|
email:
|
185
212
|
- jonathan.soeder@gmail.com
|
186
213
|
executables:
|
@@ -188,76 +215,52 @@ executables:
|
|
188
215
|
extensions: []
|
189
216
|
extra_rdoc_files: []
|
190
217
|
files:
|
191
|
-
- .gitignore
|
192
218
|
- Gemfile
|
193
219
|
- Gemfile.lock
|
194
|
-
- Guardfile
|
195
220
|
- LICENSE.txt
|
196
221
|
- README.md
|
197
222
|
- Rakefile
|
198
223
|
- bin/brief
|
199
224
|
- brief.gemspec
|
200
|
-
- examples/
|
225
|
+
- examples/blog/brief.rb
|
226
|
+
- examples/blog/docs/an-intro-to-brief.html.md
|
227
|
+
- lib/.DS_Store
|
201
228
|
- lib/brief.rb
|
202
|
-
- lib/brief/
|
203
|
-
- lib/brief/cli/
|
204
|
-
- lib/brief/cli/
|
229
|
+
- lib/brief/briefcase.rb
|
230
|
+
- lib/brief/cli/change.rb
|
231
|
+
- lib/brief/cli/init.rb
|
232
|
+
- lib/brief/cli/publish.rb
|
233
|
+
- lib/brief/cli/write.rb
|
205
234
|
- lib/brief/configuration.rb
|
235
|
+
- lib/brief/core_ext.rb
|
206
236
|
- lib/brief/document.rb
|
237
|
+
- lib/brief/document/content_extractor.rb
|
238
|
+
- lib/brief/document/front_matter.rb
|
239
|
+
- lib/brief/document/rendering.rb
|
240
|
+
- lib/brief/document_mapper.rb
|
207
241
|
- lib/brief/dsl.rb
|
208
|
-
- lib/brief/
|
209
|
-
- lib/brief/
|
210
|
-
- lib/brief/
|
211
|
-
- lib/brief/github.rb
|
212
|
-
- lib/brief/github/wiki.rb
|
213
|
-
- lib/brief/github_client.rb
|
214
|
-
- lib/brief/github_client/authentication.rb
|
215
|
-
- lib/brief/github_client/client.rb
|
216
|
-
- lib/brief/github_client/commands.rb
|
217
|
-
- lib/brief/github_client/issue_labels.rb
|
218
|
-
- lib/brief/github_client/issues.rb
|
219
|
-
- lib/brief/github_client/milestone_issues.rb
|
220
|
-
- lib/brief/github_client/organization_activity.rb
|
221
|
-
- lib/brief/github_client/organization_issues.rb
|
222
|
-
- lib/brief/github_client/organization_repositories.rb
|
223
|
-
- lib/brief/github_client/organization_users.rb
|
224
|
-
- lib/brief/github_client/repository_events.rb
|
225
|
-
- lib/brief/github_client/repository_issue_events.rb
|
226
|
-
- lib/brief/github_client/repository_issues.rb
|
227
|
-
- lib/brief/github_client/repository_labels.rb
|
228
|
-
- lib/brief/github_client/repository_milestones.rb
|
229
|
-
- lib/brief/github_client/request.rb
|
230
|
-
- lib/brief/github_client/request_wrapper.rb
|
231
|
-
- lib/brief/github_client/response_object.rb
|
232
|
-
- lib/brief/github_client/single_repository.rb
|
233
|
-
- lib/brief/github_client/user_activity.rb
|
234
|
-
- lib/brief/github_client/user_gists.rb
|
235
|
-
- lib/brief/github_client/user_info.rb
|
236
|
-
- lib/brief/github_client/user_issues.rb
|
237
|
-
- lib/brief/github_client/user_organizations.rb
|
238
|
-
- lib/brief/github_client/user_repositories.rb
|
239
|
-
- lib/brief/handlers/base.rb
|
240
|
-
- lib/brief/handlers/github_issue.rb
|
241
|
-
- lib/brief/handlers/github_milestone.rb
|
242
|
-
- lib/brief/handlers/github_wiki.rb
|
243
|
-
- lib/brief/line.rb
|
244
|
-
- lib/brief/parser.rb
|
245
|
-
- lib/brief/publisher.rb
|
246
|
-
- lib/brief/publisher/handler_manager.rb
|
247
|
-
- lib/brief/tree.rb
|
242
|
+
- lib/brief/model.rb
|
243
|
+
- lib/brief/model/definition.rb
|
244
|
+
- lib/brief/repository.rb
|
248
245
|
- lib/brief/version.rb
|
249
|
-
-
|
250
|
-
- spec/fixtures/
|
251
|
-
- spec/fixtures/
|
252
|
-
- spec/fixtures/
|
253
|
-
- spec/fixtures/
|
254
|
-
- spec/fixtures/
|
246
|
+
- spec/fixtures/example/brief.rb
|
247
|
+
- spec/fixtures/example/docs/concept.html.md
|
248
|
+
- spec/fixtures/example/docs/epic.html.md
|
249
|
+
- spec/fixtures/example/docs/persona.html.md
|
250
|
+
- spec/fixtures/example/docs/release.html.md
|
251
|
+
- spec/fixtures/example/docs/resource.html.md
|
252
|
+
- spec/fixtures/example/docs/user_story.html.md
|
253
|
+
- spec/fixtures/example/docs/wireframe.html.md
|
254
|
+
- spec/fixtures/example/models/epic.rb
|
255
|
+
- spec/lib/brief/briefcase_spec.rb
|
255
256
|
- spec/lib/brief/document_spec.rb
|
256
257
|
- spec/lib/brief/dsl_spec.rb
|
257
|
-
- spec/lib/brief/
|
258
|
-
- spec/lib/brief/
|
258
|
+
- spec/lib/brief/model_spec.rb
|
259
|
+
- spec/lib/brief/repository_spec.rb
|
259
260
|
- spec/spec_helper.rb
|
260
|
-
|
261
|
+
- spec/support/test_helpers.rb
|
262
|
+
- tasks/brief/release.rake
|
263
|
+
homepage: ''
|
261
264
|
licenses:
|
262
265
|
- MIT
|
263
266
|
metadata: {}
|
@@ -267,28 +270,35 @@ require_paths:
|
|
267
270
|
- lib
|
268
271
|
required_ruby_version: !ruby/object:Gem::Requirement
|
269
272
|
requirements:
|
270
|
-
- -
|
273
|
+
- - ">="
|
271
274
|
- !ruby/object:Gem::Version
|
272
275
|
version: '0'
|
273
276
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
274
277
|
requirements:
|
275
|
-
- -
|
278
|
+
- - ">="
|
276
279
|
- !ruby/object:Gem::Version
|
277
280
|
version: '0'
|
278
281
|
requirements: []
|
279
282
|
rubyforge_project:
|
280
|
-
rubygems_version: 2.
|
283
|
+
rubygems_version: 2.2.2
|
281
284
|
signing_key:
|
282
285
|
specification_version: 4
|
283
|
-
summary: Brief
|
286
|
+
summary: Brief makes writing more powerful
|
284
287
|
test_files:
|
285
|
-
- spec/fixtures/
|
286
|
-
- spec/fixtures/
|
287
|
-
- spec/fixtures/
|
288
|
-
- spec/fixtures/
|
289
|
-
- spec/fixtures/
|
288
|
+
- spec/fixtures/example/brief.rb
|
289
|
+
- spec/fixtures/example/docs/concept.html.md
|
290
|
+
- spec/fixtures/example/docs/epic.html.md
|
291
|
+
- spec/fixtures/example/docs/persona.html.md
|
292
|
+
- spec/fixtures/example/docs/release.html.md
|
293
|
+
- spec/fixtures/example/docs/resource.html.md
|
294
|
+
- spec/fixtures/example/docs/user_story.html.md
|
295
|
+
- spec/fixtures/example/docs/wireframe.html.md
|
296
|
+
- spec/fixtures/example/models/epic.rb
|
297
|
+
- spec/lib/brief/briefcase_spec.rb
|
290
298
|
- spec/lib/brief/document_spec.rb
|
291
299
|
- spec/lib/brief/dsl_spec.rb
|
292
|
-
- spec/lib/brief/
|
293
|
-
- spec/lib/brief/
|
300
|
+
- spec/lib/brief/model_spec.rb
|
301
|
+
- spec/lib/brief/repository_spec.rb
|
294
302
|
- spec/spec_helper.rb
|
303
|
+
- spec/support/test_helpers.rb
|
304
|
+
has_rdoc:
|
data/.gitignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
*.gem
|
data/Guardfile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
```settings
|
2
|
-
status: proposed
|
3
|
-
edited_by: jonathan soeder
|
4
|
-
```
|
5
|
-
|
6
|
-
# This is a project overview
|
7
|
-
|
8
|
-
A body paragraph or two here will be the content for a cover page. You can supply whatever background
|
9
|
-
info, domain knowledge requirements, processes, file dependencies and links, whatever.
|
10
|
-
|
11
|
-
The content for the nested milestones and issues below will be transformed into raw markdown
|
12
|
-
which will generate a status summary of the milestones and issues as they get created in the Github API.
|
13
|
-
|
14
|
-
## This is a milestone heading
|
15
|
-
|
16
|
-
A milestone is some logical way of grouping issues and attaching a date to them. You will write the body
|
17
|
-
of the individual issues and optionally assign them or label them by writing them below. When this brief
|
18
|
-
gets published, the issues will be created and added to the milestone.
|
19
|
-
|
20
|
-
### This is an issue that belongs to the above milestone
|
21
|
-
|
22
|
-
The content of your issue goes here. Normal github flavored markdown is supported.
|
23
|
-
|
@@ -1,40 +0,0 @@
|
|
1
|
-
command :config do |c|
|
2
|
-
c.syntax = 'brief config [options]'
|
3
|
-
c.description = 'manipulate brief configuration settings'
|
4
|
-
|
5
|
-
c.action do |args, options|
|
6
|
-
Brief::Configuration.initialize!
|
7
|
-
|
8
|
-
# Setting a value manually
|
9
|
-
if args.first == 'set'
|
10
|
-
args.slice(1, args.length).map(&:strip).each do |pair|
|
11
|
-
key, value = pair.split('=')
|
12
|
-
Brief.configuration.set(key, value, false)
|
13
|
-
end
|
14
|
-
|
15
|
-
Brief.configuration.save!
|
16
|
-
end
|
17
|
-
|
18
|
-
if args.empty? && !(Brief.config.github_username || Brief.config.github_token)
|
19
|
-
args.push "github"
|
20
|
-
end
|
21
|
-
|
22
|
-
if args.first == "github"
|
23
|
-
username = ask("What is your github username: ", String)
|
24
|
-
|
25
|
-
say "If you haven't generated a personal access token yet, do so here: https://github.com/settings/tokens/new"
|
26
|
-
access_token = ask("Enter your private access token: ")
|
27
|
-
|
28
|
-
if username
|
29
|
-
Brief.config.set "github_username", username
|
30
|
-
end
|
31
|
-
|
32
|
-
if access_token
|
33
|
-
# TODO
|
34
|
-
# We could validate the token for them.
|
35
|
-
Brief.config.set "github_token", access_token
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
40
|
-
end
|