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.
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