brief 0.0.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +71 -55
  4. data/README.md +149 -48
  5. data/Rakefile +15 -5
  6. data/bin/brief +15 -28
  7. data/brief.gemspec +17 -11
  8. data/examples/blog/brief.rb +54 -0
  9. data/examples/blog/docs/an-intro-to-brief.html.md +9 -0
  10. data/lib/.DS_Store +0 -0
  11. data/lib/brief/briefcase.rb +78 -0
  12. data/lib/brief/cli/change.rb +14 -0
  13. data/lib/brief/cli/init.rb +66 -0
  14. data/{spec/fixtures/generated/project_overview.json → lib/brief/cli/publish.rb} +0 -0
  15. data/lib/brief/cli/write.rb +0 -0
  16. data/lib/brief/configuration.rb +19 -115
  17. data/lib/brief/core_ext.rb +11 -0
  18. data/lib/brief/document/content_extractor.rb +33 -0
  19. data/lib/brief/document/front_matter.rb +20 -0
  20. data/lib/brief/document/rendering.rb +37 -0
  21. data/lib/brief/document.rb +43 -38
  22. data/lib/brief/document_mapper.rb +158 -0
  23. data/lib/brief/dsl.rb +42 -0
  24. data/lib/brief/model/definition.rb +117 -0
  25. data/lib/brief/model.rb +177 -0
  26. data/lib/brief/repository.rb +57 -0
  27. data/lib/brief/version.rb +1 -7
  28. data/lib/brief.rb +35 -40
  29. data/spec/fixtures/example/brief.rb +27 -0
  30. data/spec/fixtures/example/docs/concept.html.md +5 -0
  31. data/spec/fixtures/example/docs/epic.html.md +19 -0
  32. data/spec/fixtures/example/docs/persona.html.md +5 -0
  33. data/spec/fixtures/example/docs/release.html.md +7 -0
  34. data/spec/fixtures/example/docs/resource.html.md +5 -0
  35. data/spec/fixtures/example/docs/user_story.html.md +24 -0
  36. data/spec/fixtures/example/docs/wireframe.html.md +5 -0
  37. data/spec/fixtures/example/models/epic.rb +16 -0
  38. data/spec/lib/brief/briefcase_spec.rb +27 -0
  39. data/spec/lib/brief/document_spec.rb +14 -22
  40. data/spec/lib/brief/dsl_spec.rb +4 -15
  41. data/spec/lib/brief/model_spec.rb +84 -0
  42. data/spec/lib/brief/repository_spec.rb +60 -0
  43. data/spec/spec_helper.rb +12 -14
  44. data/spec/support/test_helpers.rb +0 -0
  45. data/tasks/brief/release.rake +0 -0
  46. metadata +120 -110
  47. data/.gitignore +0 -1
  48. data/Guardfile +0 -5
  49. data/examples/project_overview.md +0 -23
  50. data/lib/brief/cli/commands/config.rb +0 -40
  51. data/lib/brief/cli/commands/publish.rb +0 -27
  52. data/lib/brief/cli/commands/write.rb +0 -27
  53. data/lib/brief/formatters/base.rb +0 -12
  54. data/lib/brief/formatters/github_milestone_rollup.rb +0 -52
  55. data/lib/brief/git.rb +0 -19
  56. data/lib/brief/github/wiki.rb +0 -9
  57. data/lib/brief/github.rb +0 -141
  58. data/lib/brief/github_client/authentication.rb +0 -32
  59. data/lib/brief/github_client/client.rb +0 -86
  60. data/lib/brief/github_client/commands.rb +0 -5
  61. data/lib/brief/github_client/issue_labels.rb +0 -65
  62. data/lib/brief/github_client/issues.rb +0 -22
  63. data/lib/brief/github_client/milestone_issues.rb +0 -13
  64. data/lib/brief/github_client/organization_activity.rb +0 -9
  65. data/lib/brief/github_client/organization_issues.rb +0 -13
  66. data/lib/brief/github_client/organization_repositories.rb +0 -20
  67. data/lib/brief/github_client/organization_users.rb +0 -9
  68. data/lib/brief/github_client/repository_events.rb +0 -8
  69. data/lib/brief/github_client/repository_issue_events.rb +0 -9
  70. data/lib/brief/github_client/repository_issues.rb +0 -8
  71. data/lib/brief/github_client/repository_labels.rb +0 -18
  72. data/lib/brief/github_client/repository_milestones.rb +0 -9
  73. data/lib/brief/github_client/request.rb +0 -181
  74. data/lib/brief/github_client/request_wrapper.rb +0 -121
  75. data/lib/brief/github_client/response_object.rb +0 -50
  76. data/lib/brief/github_client/single_repository.rb +0 -9
  77. data/lib/brief/github_client/user_activity.rb +0 -16
  78. data/lib/brief/github_client/user_gists.rb +0 -9
  79. data/lib/brief/github_client/user_info.rb +0 -9
  80. data/lib/brief/github_client/user_issues.rb +0 -13
  81. data/lib/brief/github_client/user_organizations.rb +0 -9
  82. data/lib/brief/github_client/user_repositories.rb +0 -9
  83. data/lib/brief/github_client.rb +0 -43
  84. data/lib/brief/handlers/base.rb +0 -62
  85. data/lib/brief/handlers/github_issue.rb +0 -41
  86. data/lib/brief/handlers/github_milestone.rb +0 -37
  87. data/lib/brief/handlers/github_wiki.rb +0 -11
  88. data/lib/brief/line.rb +0 -69
  89. data/lib/brief/parser.rb +0 -354
  90. data/lib/brief/publisher/handler_manager.rb +0 -47
  91. data/lib/brief/publisher.rb +0 -142
  92. data/lib/brief/tree.rb +0 -43
  93. data/lib/core_ext.rb +0 -37
  94. data/spec/fixtures/front_end_tutorial.md +0 -33
  95. data/spec/fixtures/generator_dsl_example.rb +0 -22
  96. data/spec/fixtures/project_overview.md +0 -48
  97. data/spec/fixtures/sample.md +0 -19
  98. data/spec/lib/brief/line_spec.rb +0 -11
  99. 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.project_overview_example
12
- @project_overview_example ||= Brief::Document.new fixtures.join("project_overview.md")
7
+ def self.spec_root
8
+ Pathname(File.dirname(__FILE__))
13
9
  end
14
10
 
15
- def self.test_documents
16
- @test_documents ||= fixtures.children.select {|f| f.file? }.map {|c| Brief::Document.new(c) }
11
+ def self.example_path
12
+ example.root
17
13
  end
18
14
 
19
- def self.fixtures
20
- spec = File.dirname(__FILE__)
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
- Brief.test_documents
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.5
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: 2014-07-15 00:00:00.000000000 Z
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: colored
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: activesupport
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: i18n
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: bundler
98
+ name: activesupport
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ~>
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
- version: '1.3'
90
- type: :development
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: '1.3'
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: rake
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: :development
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: rspec
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: :development
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: pry
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-nav
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: guard
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: guard-rspec
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 utility to make writing more productive for software architects.
182
- It allows you write to places like Github Wiki, The Github Issues API all from the
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/project_overview.md
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/cli/commands/config.rb
203
- - lib/brief/cli/commands/publish.rb
204
- - lib/brief/cli/commands/write.rb
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/formatters/base.rb
209
- - lib/brief/formatters/github_milestone_rollup.rb
210
- - lib/brief/git.rb
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
- - lib/core_ext.rb
250
- - spec/fixtures/front_end_tutorial.md
251
- - spec/fixtures/generated/project_overview.json
252
- - spec/fixtures/generator_dsl_example.rb
253
- - spec/fixtures/project_overview.md
254
- - spec/fixtures/sample.md
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/line_spec.rb
258
- - spec/lib/brief/parser_spec.rb
258
+ - spec/lib/brief/model_spec.rb
259
+ - spec/lib/brief/repository_spec.rb
259
260
  - spec/spec_helper.rb
260
- homepage: http://architects.io/brief
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.1.11
283
+ rubygems_version: 2.2.2
281
284
  signing_key:
282
285
  specification_version: 4
283
- summary: Brief is a utility to make writing more productive for software architects.
286
+ summary: Brief makes writing more powerful
284
287
  test_files:
285
- - spec/fixtures/front_end_tutorial.md
286
- - spec/fixtures/generated/project_overview.json
287
- - spec/fixtures/generator_dsl_example.rb
288
- - spec/fixtures/project_overview.md
289
- - spec/fixtures/sample.md
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/line_spec.rb
293
- - spec/lib/brief/parser_spec.rb
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,5 +0,0 @@
1
- guard 'rspec', :all_on_start => true do
2
- watch(%r{^spec/.+_spec\.rb$})
3
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
- watch('spec/spec_helper.rb') { "spec/" }
5
- end
@@ -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