mikado_graph_generator 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 978b24a7e086e6d518b00fa2ebe1a3f46b4e57dc
4
- data.tar.gz: f1a9c98794598e994c4af9dbcd2cdcda875d69e4
3
+ metadata.gz: 9668c3aa3a4cbac985e84579b150178e63a3b155
4
+ data.tar.gz: de1a9a1372befe308df515bc7af3385b6d39f75e
5
5
  SHA512:
6
- metadata.gz: 7053e0cf6f6d0760453da0dcae12c1c3338bfb8fab73b82c65cfda984936dbf48ec319751c02ba14fe34fb792daee806b23944037bbbdf06ae11eca22250ca30
7
- data.tar.gz: 159894fd31d5caf948e346e01711d83378a0af2f83dcb60c2ba292e25c818a7960017038765bc8c6022c79e263d7ac026417be227d6947526fc010bb634fda19
6
+ metadata.gz: c294f274b5a39dc63f13ad80bf3cd7c1a78ea37ac58a1980018f59aac5f8e21ffc879695c556926ded48b1f2197ce0fae038465dbb6bf739d47aa689efa6de3d
7
+ data.tar.gz: d6a43e88070ce788e8cad2c79ade43ff102bfbbe658a9fc34d665e6a0fef207360a680ad41a2e94b377e7ec8e33ccd49fe84364ed10b13e62b1a736adddf93cd
@@ -0,0 +1,37 @@
1
+ ---
2
+ engines:
3
+ brakeman:
4
+ enabled: true
5
+ checks:
6
+ CVE_2015_3227:
7
+ enabled: false
8
+ bundler-audit:
9
+ enabled: true
10
+ duplication:
11
+ enabled: true
12
+ config:
13
+ languages:
14
+ - ruby
15
+ - javascript
16
+ - python
17
+ - php
18
+ fixme:
19
+ enabled: true
20
+ rubocop:
21
+ enabled: true
22
+ ratings:
23
+ paths:
24
+ - Gemfile.lock
25
+ - "**.erb"
26
+ - "**.haml"
27
+ - "**.rb"
28
+ - "**.rhtml"
29
+ - "**.slim"
30
+ - "**.inc"
31
+ - "**.js"
32
+ - "**.jsx"
33
+ - "**.module"
34
+ - "**.php"
35
+ - "**.py"
36
+ exclude_paths:
37
+ - spec/
@@ -1,10 +1,8 @@
1
1
  root = true
2
2
 
3
3
  [*]
4
-
5
4
  indent_style = space
6
5
  indent_size = 2
7
- end_of_line = lf
8
6
  charset = utf-8
9
7
  trim_trailing_whitespace = true
10
8
  insert_final_newline = true
data/.gitignore CHANGED
@@ -1,15 +1,10 @@
1
- /.bundle/
2
- /.yardoc
3
- /_yardoc/
4
- /coverage/
5
- /doc/
6
- /pkg/
7
- /spec/reports/
8
- /tmp/
9
-
10
- # rspec failure tracking
11
- .rspec_status
12
-
13
- .idea/
1
+ # Ignore all logfiles and tempfiles.
2
+ .DS_Store
3
+ .idea/*
4
+ coverage/
5
+ doc/
6
+ log/*.log
7
+ pkg/
8
+ tmp/
14
9
 
15
10
  *.png
data/.rspec CHANGED
@@ -1,2 +1,4 @@
1
1
  --format documentation
2
2
  --color
3
+ --require support/spec_helper
4
+ --order random
@@ -0,0 +1 @@
1
+ --display-cop-names
@@ -0,0 +1,236 @@
1
+ #
2
+ # Do not enforce any of these cops...
3
+ #
4
+ # Note: cops are ordered alphabetically.
5
+ #
6
+
7
+ require: rubocop-rspec
8
+
9
+ #
10
+ # This cop identifies places where a case-insensitive string comparison can better be implemented using casecmp.
11
+ #
12
+ # # bad
13
+ # str.downcase == 'abc'
14
+ # str.upcase.eql? 'ABC'
15
+ # 'abc' == str.downcase
16
+ # 'ABC'.eql? str.upcase
17
+ # str.downcase == str.downcase
18
+ #
19
+ # # good
20
+ # str.casecmp('ABC').zero?
21
+ # 'abc'.casecmp(str).zero?
22
+ #
23
+ Performance/Casecmp:
24
+ Enabled: false
25
+
26
+ #
27
+ # Place when conditions that use splat at the end of the list of when branches.
28
+ #
29
+ Performance/CaseWhenSplat:
30
+ Enabled: false
31
+
32
+ #
33
+ # Do not compute the size of statically sized objects.
34
+ #
35
+ Performance/FixedSize:
36
+ Enabled: false
37
+
38
+ #
39
+ # This cop identifies places where Hash#merge! can be replaced by Hash#[]=.
40
+ #
41
+ # hash.merge!(a: 1)
42
+ # hash.merge!({'key' => 'value'})
43
+ # hash.merge!(a: 1, b: 2)
44
+ #
45
+ Performance/RedundantMerge:
46
+ Enabled: false
47
+
48
+ #
49
+ # This cop looks for delegations, that could have been created automatically with delegate method.
50
+ #
51
+ # # bad
52
+ # def bar
53
+ # foo.bar
54
+ # end
55
+ #
56
+ # # good
57
+ # delegate :bar, to: :foo
58
+ #
59
+ Rails/Delegate:
60
+ Enabled: false
61
+
62
+ #
63
+ # Note: enable once we move to a newer version of Rails.
64
+ #
65
+ # This cop is used to identify usages of http methods like get, post, put, patch without the usage of
66
+ # keyword arguments in your tests and change them to use keyword arguments.
67
+ #
68
+ # # bad
69
+ # get :new, { user_id: 1 }
70
+ #
71
+ # # good
72
+ # get :new, params: { user_id: 1 }
73
+ #
74
+ Rails/HttpPositionalArguments:
75
+ Enabled: false
76
+
77
+ #
78
+ # Checks that tests use 'described_class'.
79
+ #
80
+ # Note: I can't figure out which is the correct cop so I've included both.
81
+ #
82
+ RSpec/DescribedClass:
83
+ Enabled: false
84
+
85
+ RSpec/DescribeClass:
86
+ Enabled: false
87
+
88
+ #
89
+ # Checks that the second argument to 'describe' specifies a method.
90
+ #
91
+ RSpec/DescribeMethod:
92
+ Enabled: false
93
+
94
+ #
95
+ # Checks for 'subject' definitions that come after 'let' definitions.
96
+ #
97
+ # # bad
98
+ # RSpec.describe User do
99
+ # let(:params) { blah }
100
+ # subject { described_class.new(params) }
101
+ #
102
+ # it 'is valid' do
103
+ # expect(subject.valid?).to be(true)
104
+ # end
105
+ # end
106
+ #
107
+ # # good
108
+ # RSpec.describe User do
109
+ # subject { described_class.new(params) }
110
+ #
111
+ # let(:params) { blah }
112
+ #
113
+ # it 'is valid' do
114
+ # expect(subject.valid?).to be(true)
115
+ # end
116
+ # end
117
+ #
118
+ RSpec/LeadingSubject:
119
+ Enabled: false
120
+
121
+ #
122
+ # This cop looks for uses of block comments (=begin...=end).
123
+ #
124
+ Style/BlockComments:
125
+ Enabled: false
126
+
127
+ #
128
+ # Check for if and case statements where each branch is used for assignment to the same variable when using
129
+ # the return of the condition can be used instead.
130
+ #
131
+ # # bad
132
+ # if foo
133
+ # bar = 1
134
+ # else
135
+ # bar = 2
136
+ # end
137
+ #
138
+ # # good
139
+ # bar = if foo
140
+ # 1
141
+ # else
142
+ # 2
143
+ # end
144
+ #
145
+ Style/ConditionalAssignment:
146
+ Enabled: false
147
+
148
+ #
149
+ # This cop checks for missing top-level documentation of classes and modules.
150
+ #
151
+ Style/Documentation:
152
+ Enabled: false
153
+
154
+ #
155
+ # This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both
156
+ # cryptic and usually redundant, it should be avoided.
157
+ #
158
+ Style/DoubleNegation:
159
+ Enabled: false
160
+
161
+ #
162
+ # This cop checks for the formatting of empty method definitions. By default it enforces empty method definitions to go
163
+ # on a single line (compact style), but it can be configured to enforce the end to go on its own line (expanded style.)
164
+ #
165
+ # Note: A method definition is not considered empty if it contains comments.
166
+ #
167
+ Style/EmptyMethod:
168
+ Enabled: false
169
+
170
+ #
171
+ # This cop is designed to help upgrade to Ruby 3.0. It will add the comment `# frozen_string_literal: true` to the top
172
+ # of files to enable frozen string literals. Frozen string literals will be default in Ruby 3.0. The comment will be
173
+ # added below a shebang and encoding comment. The frozen string literal comment is only valid in Ruby 2.3+.
174
+ #
175
+ Style/FrozenStringLiteralComment:
176
+ Enabled: false
177
+
178
+ #
179
+ # This cops checks for use of extend self or module_function in a module.
180
+ #
181
+ Style/ModuleFunction:
182
+ Enabled: false
183
+
184
+ #
185
+ # This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).
186
+ #
187
+ # # bad
188
+ # CONST = [1, 2, 3]
189
+ #
190
+ # # good
191
+ # CONST = [1, 2, 3].freeze
192
+ #
193
+ Style/MutableConstant:
194
+ Enabled: false
195
+
196
+ #
197
+ # This cop (by default) checks for uses of methods Hash#has_key? and Hash#has_value? where it enforces Hash#key? and
198
+ # Hash#value? It is configurable to enforce the inverse, using verbose method names also.
199
+ #
200
+ # EnforcedStyle: short
201
+ #
202
+ # # bad
203
+ # Hash#has_key?
204
+ # Hash#has_value?
205
+ #
206
+ # # good
207
+ # Hash#key?
208
+ # Hash#value?
209
+ #
210
+ # EnforcedStyle: verbose
211
+ #
212
+ # # bad
213
+ # Hash#key?
214
+ # Hash#value?
215
+ #
216
+ # # good
217
+ # Hash#has_key?
218
+ # Hash#has_value?
219
+ #
220
+ Style/PreferredHashMethods:
221
+ Enabled: false
222
+
223
+ #
224
+ # This cop checks whether the block parameters of a single-line method accepting a block match the names
225
+ # specified via configuration.
226
+ #
227
+ # For instance one can configure reduce(inject) to use |a, e| as parameters.
228
+ #
229
+ Style/SingleLineBlockParams:
230
+ Enabled: false
231
+
232
+ #
233
+ # This cop can check for the %w() syntax.
234
+ #
235
+ Style/WordArray:
236
+ Enabled: false
@@ -0,0 +1,374 @@
1
+ #
2
+ # Enforce all of these cops...
3
+ #
4
+ # Note: cops are ordered alphabetically.
5
+ #
6
+
7
+ require: rubocop-rspec
8
+
9
+ #
10
+ # This cop checks whether the end keywords are aligned properly.
11
+ #
12
+ # # good
13
+ # variable = if true
14
+ # end
15
+ #
16
+ Lint/EndAlignment:
17
+ EnforcedStyleAlignWith: variable
18
+
19
+ #
20
+ # This cop looks for error classes inheriting from Exception and its standard library subclasses,
21
+ # excluding subclasses of StandardError.
22
+ #
23
+ Lint/InheritException:
24
+ EnforcedStyle: runtime_error
25
+
26
+ #
27
+ # This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored.
28
+ # The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.
29
+ #
30
+ Metrics/BlockLength:
31
+ ExcludedMethods:
32
+ - describe
33
+
34
+ #
35
+ # This cop checks the length of lines in the source code.
36
+ #
37
+ Metrics/LineLength:
38
+ Max: 140
39
+
40
+ #
41
+ # This cop checks if the length of a method exceeds some maximum value.
42
+ #
43
+ Metrics/MethodLength:
44
+ Max: 15
45
+
46
+ #
47
+ # This cop is used to identify usages of select.first, select.last, find_all.first, and find_all.last and
48
+ # change them to use detect instead.
49
+ #
50
+ # ActiveRecord compatibility: ActiveRecord does not implement a detect method and find has its own meaning.
51
+ # Correcting ActiveRecord methods with this cop should be considered unsafe.
52
+ #
53
+ # # bad
54
+ # [].select { |item| true }.first
55
+ # [].select { |item| true }.last
56
+ # [].find_all { |item| true }.first
57
+ # [].find_all { |item| true }.last
58
+ #
59
+ # # good
60
+ # [].detect { |item| true }
61
+ # [].reverse.detect { |item| true }
62
+ #
63
+ Performance/Detect:
64
+ AutoCorrect: false
65
+
66
+ #
67
+ # This cop checks dynamic find_by_* methods. Use find_by instead of dynamic method.
68
+ # See. https://github.com/bbatsov/rails-style-guide#find_by
69
+ #
70
+ # NOTE: Do not autocorrect since we have non-dynamic finders that follow the dynamic finder naming convention
71
+ #
72
+ Rails/DynamicFindBy:
73
+ AutoCorrect: false
74
+
75
+ #
76
+ # Checks for long examples.
77
+ #
78
+ RSpec/ExampleLength:
79
+ Max: 20
80
+
81
+ #
82
+ # This cop checks for consistent style when specifying RSpec hooks which run for each example.
83
+ #
84
+ # # bad
85
+ # before(:each) do
86
+ # ...
87
+ # end
88
+ #
89
+ # # bad
90
+ # before(:example) do
91
+ # ...
92
+ # end
93
+ #
94
+ # # good
95
+ # before do
96
+ # ...
97
+ # end
98
+ #
99
+ RSpec/HookArgument:
100
+ EnforcedStyle: implicit
101
+
102
+ #
103
+ # Checks if examples contain too many 'expect' calls.
104
+ #
105
+ RSpec/MultipleExpectations:
106
+ Max: 3
107
+
108
+ #
109
+ # Checks for consistent method usage for negating expectations.
110
+ #
111
+ RSpec/NotToNot:
112
+ EnforcedStyle: to_not
113
+
114
+ #
115
+ # Check that the keys, separators, and values of a multi-line hash literal are aligned according
116
+ # to configuration. With 'key' everything is left aligned.
117
+ #
118
+ Style/AlignHash:
119
+ EnforcedHashRocketStyle: key
120
+ EnforcedColonStyle: key
121
+ EnforcedLastArgumentHashStyle: always_ignore
122
+
123
+ #
124
+ # Here we check if the parameters on a multi-line method call or definition are aligned.
125
+ #
126
+ Style/AlignParameters:
127
+ EnforcedStyle: with_fixed_indentation
128
+
129
+ #
130
+ # This cop checks how the 'whens' of a case expression are indented in relation to its 'case' or 'end' keyword.
131
+ #
132
+ Style/CaseIndentation:
133
+ EnforcedStyle: end
134
+ IndentOneStep: true
135
+
136
+ #
137
+ # This cop checks for the formatting of empty method definitions. By default it enforces empty method definitions
138
+ # to go on a single line (compact style).
139
+ #
140
+ Style/EmptyMethod:
141
+ Exclude:
142
+ - 'db/migrate/*'
143
+
144
+ #
145
+ # This cop checks for a line break before the first element in a multi-line hash.
146
+ #
147
+ # # bad
148
+ # { a: 1,
149
+ # b: 2}
150
+ #
151
+ # # good
152
+ # {
153
+ # a: 1,
154
+ # b: 2 }
155
+ #
156
+ Style/FirstHashElementLineBreak:
157
+ Enabled: true
158
+
159
+ #
160
+ # This cop checks for a line break before the first argument in a multi-line method call.
161
+ #
162
+ # # bad
163
+ # method(foo, bar,
164
+ # baz)
165
+ #
166
+ # # good
167
+ # method(
168
+ # foo, bar,
169
+ # baz)
170
+ #
171
+ # # ignored
172
+ # method foo, bar,
173
+ # baz
174
+ #
175
+ Style/FirstMethodArgumentLineBreak:
176
+ Enabled: true
177
+
178
+ # This cop checks the indentation of the first parameter in a method call. Parameters after the first one are checked by Style/AlignParameters, not by this cop.
179
+ #
180
+ # # bad
181
+ # some_method(
182
+ # first_param,
183
+ # second_param)
184
+ #
185
+ # # good
186
+ # some_method(
187
+ # first_param,
188
+ # second_param)
189
+ #
190
+ Style/FirstParameterIndentation:
191
+ EnforcedStyle: consistent
192
+
193
+ #
194
+ # This cop checks the indentation of the first element in an array literal where the opening bracket and the
195
+ # first element are on separate lines.
196
+ #
197
+ # # consistent
198
+ # array = [
199
+ # :value
200
+ # ]
201
+ # and_in_a_method_call([
202
+ # :no_difference
203
+ # ])
204
+ #
205
+ Style/IndentArray:
206
+ EnforcedStyle: consistent
207
+
208
+ #
209
+ # This cops checks the indentation of the first key in a hash literal where the opening brace and the first key
210
+ # are on separate lines.
211
+ #
212
+ # # consistent
213
+ # hash = {
214
+ # key: :value
215
+ # }
216
+ # and_in_a_method_call({
217
+ # no: :difference
218
+ # })
219
+ #
220
+ Style/IndentHash:
221
+ EnforcedStyle: consistent
222
+
223
+ #
224
+ # This cop checks for uses of the lambda literal syntax.
225
+ #
226
+ # # literal
227
+ # f = ->(x) { x }
228
+ # f = ->(x) do
229
+ # x
230
+ # end
231
+ #
232
+ Style/Lambda:
233
+ EnforcedStyle: literal
234
+
235
+ #
236
+ # This cop checks presence of parentheses in method calls containing parameters. As in popular Ruby's frameworks a lot
237
+ # of methods should always be called without parentheses, users can ignore them by passing their names to IgnoredMethods
238
+ # option.
239
+ #
240
+ # # bad
241
+ # array.delete e
242
+ #
243
+ # # good
244
+ # array.delete(e)
245
+ #
246
+ # # good if `puts` is listed in IgnoredMethods
247
+ # puts 'test'
248
+ #
249
+ Style/MethodCallWithArgsParentheses:
250
+ Enabled: true
251
+ IgnoredMethods:
252
+ - add_development_dependency
253
+ - after_initialize
254
+ - assert
255
+ - assert_contents
256
+ - assert_empty
257
+ - assert_equal
258
+ - assert_held
259
+ - assert_nil
260
+ - assert_presence_of
261
+ - assert_raises
262
+ - assert_should_strip_whitespace
263
+ - assert_time_within
264
+ - attr_accessor
265
+ - attr_reader
266
+ - attr_writer
267
+ - attribute
268
+ - autocomplete_for
269
+ - before_action
270
+ - belongs_to
271
+ - column
272
+ - delegate
273
+ - describe
274
+ - extend
275
+ - field
276
+ - guard
277
+ - gem
278
+ - goto
279
+ - has_many
280
+ - in_line_ajax_action
281
+ - include
282
+ - it
283
+ - it_behaves_like
284
+ - link
285
+ - puts
286
+ - raise
287
+ - redefine_const
288
+ - redirect_to
289
+ - render
290
+ - require
291
+ - require_relative
292
+ - ruby
293
+ - scope
294
+ - should
295
+ - source
296
+ - task
297
+ - to
298
+ - to_not
299
+ - validate
300
+ - validates
301
+ - validates_numericality_of
302
+ - validates_presence_of
303
+ - within
304
+
305
+ #
306
+ # This cop checks that closing brace of a multi-line method call must be on the line after the last
307
+ # argument of the call.
308
+ #
309
+ # # symmetrical: bad
310
+ # # new_line: good
311
+ # # same_line: bad
312
+ # foo(a,
313
+ # b
314
+ # )
315
+ #
316
+ # # symmetrical: bad
317
+ # # new_line: bad
318
+ # # same_line: good
319
+ # foo(
320
+ # a,
321
+ # b)
322
+ #
323
+ # # symmetrical: good
324
+ # # new_line: bad
325
+ # # same_line: good
326
+ # foo(a,
327
+ # b)
328
+ #
329
+ # # symmetrical: good
330
+ # # new_line: good
331
+ # # same_line: bad
332
+ # foo(
333
+ # a,
334
+ # b
335
+ # )
336
+ #
337
+ Style/MultilineMethodCallBraceLayout:
338
+ EnforcedStyle: new_line
339
+
340
+ #
341
+ # This cop checks the indentation of the method name part in method calls that span more than one line.
342
+ #
343
+ # # good
344
+ # while a
345
+ # .b
346
+ # something
347
+ # end
348
+ #
349
+ Style/MultilineMethodCallIndentation:
350
+ EnforcedStyle: indented
351
+
352
+ #
353
+ # This cop looks for uses of Perl-style global variables.
354
+ #
355
+ Style/SpecialGlobalVars:
356
+ EnforcedStyle: use_english_names
357
+
358
+ #
359
+ # Checks if uses of quotes match the configured preference.
360
+ #
361
+ Style/StringLiterals:
362
+ EnforcedStyle: double_quotes
363
+
364
+ #
365
+ # This cop makes sure that all numbered variables use snake_case for their numbering.
366
+ #
367
+ # # bad
368
+ # variable1 = 1
369
+ #
370
+ # # good
371
+ # variable_1 = 1
372
+ #
373
+ Style/VariableNumber:
374
+ EnforcedStyle: snake_case
@@ -0,0 +1,10 @@
1
+ #
2
+ # The Rubocop configuration for mikado_graph_generator
3
+ #
4
+
5
+ #AllCops:
6
+ # Exclude:
7
+
8
+ inherit_from:
9
+ - .rubocop.disabled.yml
10
+ - .rubocop.enabled.yml
@@ -0,0 +1 @@
1
+ ruby-2.4.0
@@ -1,7 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.1
3
+ - 2.4.0
4
4
  before_install:
5
- - gem install bundler -v 1.14.3
5
+ - gem update --system
6
6
  - sudo apt-get -qq update
7
7
  - sudo apt-get install -y graphviz
8
+ script:
9
+ - bundle exec rubocop
10
+ - bundle exec rspec
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
@@ -1,13 +1,59 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mikado_graph_generator (0.2.1)
4
+ mikado_graph_generator (0.2.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ ast (2.3.0)
10
+ coderay (1.1.1)
9
11
  diff-lcs (1.3)
12
+ ffi (1.9.17)
13
+ formatador (0.2.5)
14
+ guard (2.14.1)
15
+ formatador (>= 0.2.4)
16
+ listen (>= 2.7, < 4.0)
17
+ lumberjack (~> 1.0)
18
+ nenv (~> 0.1)
19
+ notiffany (~> 0.0)
20
+ pry (>= 0.9.12)
21
+ shellany (~> 0.0)
22
+ thor (>= 0.18.1)
23
+ guard-bundler (2.1.0)
24
+ bundler (~> 1.0)
25
+ guard (~> 2.2)
26
+ guard-compat (~> 1.1)
27
+ guard-compat (1.2.1)
28
+ guard-rspec (4.7.3)
29
+ guard (~> 2.1)
30
+ guard-compat (~> 1.1)
31
+ rspec (>= 2.99.0, < 4.0)
32
+ guard-rubocop (1.2.0)
33
+ guard (~> 2.0)
34
+ rubocop (~> 0.20)
35
+ listen (3.1.5)
36
+ rb-fsevent (~> 0.9, >= 0.9.4)
37
+ rb-inotify (~> 0.9, >= 0.9.7)
38
+ ruby_dep (~> 1.2)
39
+ lumberjack (1.0.11)
40
+ method_source (0.8.2)
41
+ nenv (0.3.0)
42
+ notiffany (0.1.1)
43
+ nenv (~> 0.1)
44
+ shellany (~> 0.0)
45
+ parser (2.3.3.1)
46
+ ast (~> 2.2)
47
+ powerpack (0.1.1)
48
+ pry (0.10.4)
49
+ coderay (~> 1.1.0)
50
+ method_source (~> 0.8.1)
51
+ slop (~> 3.4)
52
+ rainbow (2.2.1)
10
53
  rake (10.5.0)
54
+ rb-fsevent (0.9.8)
55
+ rb-inotify (0.9.8)
56
+ ffi (>= 0.5.0)
11
57
  rspec (3.5.0)
12
58
  rspec-core (~> 3.5.0)
13
59
  rspec-expectations (~> 3.5.0)
@@ -21,16 +67,35 @@ GEM
21
67
  diff-lcs (>= 1.2.0, < 2.0)
22
68
  rspec-support (~> 3.5.0)
23
69
  rspec-support (3.5.0)
70
+ rubocop (0.47.1)
71
+ parser (>= 2.3.3.1, < 3.0)
72
+ powerpack (~> 0.1)
73
+ rainbow (>= 1.99.1, < 3.0)
74
+ ruby-progressbar (~> 1.7)
75
+ unicode-display_width (~> 1.0, >= 1.0.1)
76
+ rubocop-rspec (1.10.0)
77
+ rubocop (>= 0.42.0)
24
78
  ruby-graphviz (1.2.2)
79
+ ruby-progressbar (1.8.1)
80
+ ruby_dep (1.5.0)
81
+ shellany (0.0.1)
82
+ slop (3.6.0)
83
+ thor (0.19.4)
84
+ unicode-display_width (1.1.3)
25
85
 
26
86
  PLATFORMS
27
87
  ruby
28
88
 
29
89
  DEPENDENCIES
30
90
  bundler (~> 1.14)
91
+ guard-bundler
92
+ guard-rspec
93
+ guard-rubocop
31
94
  mikado_graph_generator!
32
95
  rake (~> 10.0)
33
96
  rspec (~> 3.0)
97
+ rubocop (~> 0.47)
98
+ rubocop-rspec (~> 1.10)
34
99
  ruby-graphviz (~> 1.2)
35
100
 
36
101
  BUNDLED WITH
@@ -0,0 +1,56 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app processing config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ guard :bundler do
19
+ require "guard/bundler"
20
+ require "guard/bundler/verify"
21
+ helper = Guard::Bundler::Verify.new
22
+
23
+ files = ["Gemfile"]
24
+ files += Dir["*.gemspec"] if files.any? { |f| helper.uses_gemspec?(f) }
25
+
26
+ # Assume files are symlinked from somewhere
27
+ files.each { |file| watch(helper.real_path(file)) }
28
+ end
29
+
30
+ # Note: The cmd option is now required due to the increasing number of ways
31
+ # rspec may be run, below are examples of the most common uses.
32
+ # * bundler: 'bundle exec rspec'
33
+ # * bundler binstubs: 'bin/rspec'
34
+ # * spring: 'bin/rspec' (This will use spring if running and you have
35
+ # installed the spring binstubs per the docs)
36
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
37
+ # * 'just' rspec: 'rspec'
38
+
39
+ guard :rspec, cmd: "bundle exec rspec" do
40
+ require "guard/rspec/dsl"
41
+ dsl = Guard::RSpec::Dsl.new(self)
42
+
43
+ # Feel free to open issues for suggestions and improvements
44
+
45
+ # RSpec files
46
+ rspec = dsl.rspec
47
+ watch(rspec.spec_helper) { rspec.spec_dir }
48
+ watch(rspec.spec_support) { rspec.spec_dir }
49
+ watch(rspec.spec_files)
50
+
51
+ watch(/.+\.rb$/)
52
+ end
53
+
54
+ guard :rubocop, cli: ["-S", "-D"] do
55
+ watch(/.+\.rb$/)
56
+ end
data/README.md CHANGED
@@ -34,16 +34,16 @@ You can use this gem's DSL in the following way to create a Mikado Graph generat
34
34
  require "mikado_graph"
35
35
 
36
36
  MikadoGraph::Generator.define do
37
- state("State A").depends_on {
38
- state("State B").depends_on {
37
+ state("State A").depends_on do
38
+ state("State B").depends_on do
39
39
  state("State D")
40
40
  state("State E")
41
- }
42
- state("State C").depends_on {
41
+ end
42
+ state("State C").depends_on do
43
43
  state("State F")
44
44
  state("State G")
45
- }
46
- }
45
+ end
46
+ end
47
47
  end.generate("png", "img/example_usage.png") # generate takes GraphViz format and output path
48
48
  ```
49
49
 
@@ -55,7 +55,7 @@ ruby example_usage.rb
55
55
 
56
56
  This will utilize the *GraphViz* `dot` command to create this PNG output of the above Mikado Graph generator definition:
57
57
 
58
- ![Multi-Level Mikado Graph](https://github.com/snasirca/mikado_graph_generator/blob/master/img/multi_level_mikado_graph.png)
58
+ ![Example Usage](https://github.com/snasirca/mikado_graph_generator/blob/master/img/example_usage.png)
59
59
 
60
60
  NOTE: If you don't provide any parameters to `generate`, it'll default to a `dot` output in the STDOUT.
61
61
 
@@ -63,8 +63,6 @@ NOTE: If you don't provide any parameters to `generate`, it'll default to a `dot
63
63
 
64
64
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
65
65
 
66
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
67
-
68
66
  ## Contributing
69
67
 
70
68
  Bug reports and pull requests are welcome on GitHub at https://github.com/snasirca/mikado_graph_generator. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
data/Rakefile CHANGED
@@ -3,4 +3,5 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
7
+ # task sync_rubocop
@@ -1,14 +1,14 @@
1
1
  require "mikado_graph"
2
2
 
3
3
  MikadoGraph::Generator.define do
4
- state("State A").depends_on {
5
- state("State B").depends_on {
4
+ state("State A").depends_on do
5
+ state("State B").depends_on do
6
6
  state("State D")
7
7
  state("State E")
8
- }
9
- state("State C").depends_on {
8
+ end
9
+ state("State C").depends_on do
10
10
  state("State F")
11
11
  state("State G")
12
- }
13
- }
12
+ end
13
+ end
14
14
  end.generate("png", "img/example_usage.png")
@@ -1,3 +1,3 @@
1
1
  module MikadoGraph
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -4,17 +4,17 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require "mikado_graph/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
- spec.name = "mikado_graph_generator"
8
- spec.version = MikadoGraph::VERSION
9
- spec.authors = ["Shahriyar Nasir"]
10
- spec.email = ["contact@snasir.ca"]
7
+ spec.name = "mikado_graph_generator"
8
+ spec.version = MikadoGraph::VERSION
9
+ spec.authors = ["Shahriyar Nasir"]
10
+ spec.email = ["contact@snasir.ca"]
11
11
 
12
- spec.summary = "Mikado Graph generator"
13
- spec.description = "Provides a simple DSL for generating Mikado Graphs using GraphViz."
14
- spec.homepage = "https://github.com/snasirca/mikado_graph_generator"
15
- spec.license = "MIT"
12
+ spec.summary = "Mikado Graph generator"
13
+ spec.description = "Provides a simple DSL for generating Mikado Graphs using GraphViz."
14
+ spec.homepage = "https://github.com/snasirca/mikado_graph_generator"
15
+ spec.license = "MIT"
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
18
  f.match(%r{^(test|spec|features)/})
19
19
  end
20
20
  spec.require_paths = ["lib"]
@@ -23,4 +23,9 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  spec.add_development_dependency "rspec", "~> 3.0"
25
25
  spec.add_development_dependency "ruby-graphviz", "~> 1.2"
26
+ spec.add_development_dependency "rubocop", "~> 0.47"
27
+ spec.add_development_dependency "rubocop-rspec", "~> 1.10"
28
+ spec.add_development_dependency "guard-rspec"
29
+ spec.add_development_dependency "guard-bundler"
30
+ spec.add_development_dependency "guard-rubocop"
26
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mikado_graph_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shahriyar Nasir
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-02 00:00:00.000000000 Z
11
+ date: 2017-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,6 +66,76 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.47'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.47'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.10'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.10'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-bundler
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
69
139
  description: Provides a simple DSL for generating Mikado Graphs using GraphViz.
70
140
  email:
71
141
  - contact@snasir.ca
@@ -73,18 +143,26 @@ executables: []
73
143
  extensions: []
74
144
  extra_rdoc_files: []
75
145
  files:
146
+ - ".codeclimate.yml"
76
147
  - ".editorconfig"
77
148
  - ".gitignore"
78
149
  - ".rspec"
150
+ - ".rubocop"
151
+ - ".rubocop.disabled.yml"
152
+ - ".rubocop.enabled.yml"
153
+ - ".rubocop.yml"
154
+ - ".ruby-version"
79
155
  - ".travis.yml"
80
156
  - Gemfile
81
157
  - Gemfile.lock
158
+ - Guardfile
82
159
  - LICENSE.txt
83
160
  - README.md
84
161
  - Rakefile
85
162
  - bin/console
86
163
  - bin/setup
87
164
  - example_usage.rb
165
+ - img/example_usage.png
88
166
  - lib/mikado_graph.rb
89
167
  - lib/mikado_graph/dependencies.rb
90
168
  - lib/mikado_graph/generator.rb