guard-yardstick 0.1.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8e3b3c837c2dcc1689f6fcf69dfdb490336fd772
4
- data.tar.gz: d9a5c380e96e93dcd52a059228344c1ba3e29115
2
+ SHA256:
3
+ metadata.gz: 45459e4845319647f61ae3292f4ea7d77f0d4232031e1f4784cbe3ae84f88076
4
+ data.tar.gz: a1bf0c8c29630a98c27cd4d1972d3755fca69d10fc1deb2d376aea47f70cf795
5
5
  SHA512:
6
- metadata.gz: 06f4880fd79bbeed1c8b0f310216d9b14902ea4fe65228c2001b333e4eb19341f0d9d60a64b607c35028050277f53b926bbccfd15c1b7a0c31aa7f1e233ad5e3
7
- data.tar.gz: f7e3971af14c793bf6685fe416350a6d17c670dcd284d18dcfafc36441c60345193eeb4e9f2c53a57e86c45f3630506010f1608d444c16e9f7af31d5d5d74840
6
+ metadata.gz: 7c921eed30033ecbfa0f02b2a2f487bd3dcde502ebfdc6127b5b85f3a7a4b7072731a11544ffdf24de22110e1f35dd6a09d628222fec87b0662a8982febc3345
7
+ data.tar.gz: c33d8a4e0517564e7eff2e981ac4c0cf45c2b231dd10bce84bc7496f884a1aaea944fdf850f359f00e1c34815f1cb8ec50b16c3c277a9d43111749f780fdfb2d
data/.gitignore CHANGED
@@ -15,3 +15,4 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ measurements
@@ -0,0 +1,14 @@
1
+ ---
2
+ rules:
3
+ ApiTag::Presence:
4
+ enabled: true
5
+ exclude:
6
+ - Guard::YardstickVersion.to_s
7
+ ApiTag::Inclusion:
8
+ enabled: true
9
+ exclude:
10
+ - Guard::YardstickVersion.to_s
11
+ Summary::Delimiter:
12
+ enabled: true
13
+ exclude:
14
+ - Guard::Yardstick#yardstick_config
data/Gemfile CHANGED
@@ -1,15 +1,17 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in guard-yardstick.gemspec
4
6
  gemspec
5
7
 
6
8
  group :development do
7
- gem 'guard'
8
- gem 'guard-rubocop'
9
- gem 'guard-rspec'
10
- gem 'rubocop'
9
+ gem 'guard-rspec', require: false
10
+ gem 'guard-rubocop', require: false
11
11
  end
12
12
 
13
13
  group :development, :test do
14
- gem 'rspec'
14
+ gem 'rspec', require: false
15
+ gem 'rubocop', require: false
16
+ gem 'yardstick', require: false
15
17
  end
data/Guardfile CHANGED
@@ -1,11 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # A sample Guardfile
2
4
  # More info at https://github.com/guard/guard#readme
3
5
 
4
- guard :yardstick do
6
+ guard :yardstick, config: '.yardstick.yml' do
5
7
  watch(/.+\.rb$/)
8
+ watch('.yardstick.yml') { 'lib' }
6
9
  end
7
10
 
8
- guard :rubocop, all_on_start: true, cli: ['--display-cop-name']do
11
+ guard :rubocop, all_on_start: true, cli: ['--display-cop-name'] do
9
12
  watch('guard-yardstick.gemspec')
10
13
  watch(/^(|Rakefile|Guardfile)/)
11
14
  watch(/.+\.rb$/)
data/README.md CHANGED
@@ -10,7 +10,7 @@ Add `guard-yardstick` to your `Gemfile`:
10
10
 
11
11
  ```ruby
12
12
  group :development do
13
- gem 'guard-yardstick'
13
+ gem 'guard-yardstick', require: false
14
14
  end
15
15
  ```
16
16
 
@@ -40,11 +40,11 @@ Please read the [Guard usage documentation](https://github.com/guard/guard#readm
40
40
 
41
41
  *all_on_start:* Same as on any other Guard plugin. Run yardstick on all files on start or not.
42
42
 
43
- *path:* Tells yardstick which paths to run the yardoc analysis on. Defaults to yardsticks default of *'lib'* directory.
43
+ *config:* Tells yardstick where to find yardsticks configuration file if present.
44
44
 
45
45
 
46
46
  ```ruby
47
- guard :yardstick, all_on_start: false, path: ['app', 'config', 'lib'] do
47
+ guard :yardstick, config: './.yardstick.yml' do
48
48
  # ...
49
49
  end
50
50
  ```
data/Rakefile CHANGED
@@ -1 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
1
5
  require 'bundler/gem_tasks'
6
+ require 'rspec/core/rake_task'
7
+
8
+ RSpec::Core::RakeTask.new(:spec)
9
+
10
+ require 'rubocop/rake_task'
11
+
12
+ RuboCop::RakeTask.new(:rubocop) do |t|
13
+ t.options = ['--display-cop-names']
14
+ end
15
+
16
+ require 'yardstick/rake/measurement'
17
+ yardstick_options = YAML.load_file('.yardstick.yml')
18
+
19
+ Yardstick::Rake::Measurement.new(:yardstick_measure, yardstick_options)
20
+
21
+ require 'yardstick/rake/verify'
22
+
23
+ Yardstick::Rake::Verify.new(:yardstick, yardstick_options)
24
+
25
+ task default: %i[spec rubocop yardstick]
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'guard/yardstick/version'
5
6
 
@@ -1,5 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'guard/compat/plugin'
2
4
  require 'yardstick'
5
+ require 'yaml'
3
6
 
4
7
  module Guard
5
8
  # A guard plugin to run yardstick on every save
@@ -19,9 +22,7 @@ module Guard
19
22
 
20
23
  @options = {
21
24
  all_on_start: true,
22
- # Taken from yardsitck:
23
- # https://github.com/dkubb/yardstick/blob/0aa394dd64baf5155775e6be5018d6c9844654b7/lib/yardstick/config.rb#L167
24
- path: ['lib/**/*.rb']
25
+ config: nil
25
26
  }.merge(args)
26
27
  end
27
28
 
@@ -39,7 +40,7 @@ module Guard
39
40
  # @return [Void]
40
41
  def run_all
41
42
  UI.info 'Inspecting Yarddoc in all files'
42
- inspect_with_yardstick(options[:path])
43
+ inspect_with_yardstick
43
44
  end
44
45
 
45
46
  # Will run when files are added
@@ -70,18 +71,18 @@ module Guard
70
71
  displayed_paths = paths.map { |path| smart_path(path) }
71
72
  UI.info "Inspecting Yarddocs: #{displayed_paths.join(' ')}"
72
73
 
73
- inspect_with_yardstick(paths)
74
+ inspect_with_yardstick(path: paths)
74
75
  end
75
76
 
76
77
  # Runs yardstick and outputs results to STDOUT
77
78
  #
78
79
  # @api private
79
80
  # @return [Void]
80
- def inspect_with_yardstick(paths)
81
- config = ::Yardstick::Config.coerce(path: paths)
81
+ def inspect_with_yardstick(yardstick_options = {})
82
+ config = ::Yardstick::Config.coerce(yardstick_config(yardstick_options))
82
83
  measurements = ::Yardstick.measure(config)
83
84
  measurements.puts
84
- rescue => error
85
+ rescue StandardError => error
85
86
  UI.error 'The following exception occurred while running ' \
86
87
  "guard-yardstick: #{error.backtrace.first} " \
87
88
  "#{error.message} (#{error.class.name})"
@@ -98,5 +99,16 @@ module Guard
98
99
  path
99
100
  end
100
101
  end
102
+
103
+ # Merge further options with yardstick config file.
104
+ #
105
+ # @api private
106
+ # @return [Hash] Hash of options for yardstick measurement
107
+ def yardstick_config(extra_options = {})
108
+ return options unless options[:config]
109
+
110
+ yardstick_options = YAML.load_file(options[:config])
111
+ yardstick_options.merge(extra_options)
112
+ end
101
113
  end
102
114
  end
@@ -1,10 +1,23 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Options to guard-yardstick
2
4
  # all_on_start: true
3
- # path: ['app', 'config', 'lib']
5
+ # config: nil
4
6
  guard :yardstick do
5
7
  # Typical Rails setup
6
- # Set path option to ['app', 'config', 'lib']
8
+ # Set path option for yardstick in ,yardstick.yml
9
+ # ---
10
+ # path:
11
+ # - app
12
+ # - config
13
+ # - lib
14
+ # # Also check out the rules config
15
+ # # https://github.com/dkubb/yardstick#4-configuration
16
+ #
17
+ # and pass in the location of the yaml file using the config option
18
+ # config: '.yardstick.yml'
7
19
  # watch(%r{^app\/(.+)\.rb$})
8
20
  # watch(%r{^config\/initializers\/(.+)\.rb$})
21
+ # watch('.yardstick.yml') { 'lib' }
9
22
  watch(%r{^lib\/(.+)\.rb$})
10
23
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Guard
2
4
  # A workaround for declaring `class Yardstick`
3
5
  # before `class Yardstick < Guard` in yardstick.rb
4
6
  module YardstickVersion
5
7
  # http://semver.org/
6
- MAJOR = 0
7
- MINOR = 1
8
+ MAJOR = 1
9
+ MINOR = 0
8
10
  PATCH = 0
9
11
 
10
12
  # Returns a formatted version string
@@ -12,7 +14,6 @@ module Guard
12
14
  # @example
13
15
  # Guard::YardstickVersion.to_s # => '0.0.0.2'
14
16
  #
15
- # @api public
16
17
  # @return [String]
17
18
  def self.to_s
18
19
  [MAJOR, MINOR, PATCH].join('.')
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'guard/yardstick'
2
4
  require 'guard/compat/test/helper'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  RSpec.describe Guard::Yardstick do
@@ -14,11 +16,6 @@ RSpec.describe Guard::Yardstick do
14
16
  subject { super()[:all_on_start] }
15
17
  it { should be_truthy }
16
18
  end
17
-
18
- describe '[:path]' do
19
- subject { super()[:path] }
20
- it { should eq(['lib/**/*.rb']) }
21
- end
22
19
  end
23
20
  end
24
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-yardstick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Lee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2018-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard
@@ -76,6 +76,7 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - ".gitignore"
78
78
  - ".rspec"
79
+ - ".yardstick.yml"
79
80
  - Gemfile
80
81
  - Guardfile
81
82
  - LICENSE.txt
@@ -107,11 +108,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
108
  version: '0'
108
109
  requirements: []
109
110
  rubyforge_project:
110
- rubygems_version: 2.4.7
111
+ rubygems_version: 2.7.6
111
112
  signing_key:
112
113
  specification_version: 4
113
114
  summary: Guard plugin for Yardstick
114
115
  test_files:
115
116
  - spec/spec_helper.rb
116
117
  - spec/yardstick_spec.rb
117
- has_rdoc: