gist_updater 0.3.0 → 0.3.1

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
2
  SHA1:
3
- metadata.gz: e8dc664768fabfe6e4e086ab381b3b58f08274ba
4
- data.tar.gz: 9b74e345d7683da1a001f56fa832c2f9a0fafd5a
3
+ metadata.gz: f08ce131e4b5da439fd9dbec0b196211d65bdc3d
4
+ data.tar.gz: c0ae0fddb076a17467d9bf7e795f6e60599a4459
5
5
  SHA512:
6
- metadata.gz: 830f3f9d40f2c3b3067a18c86b59edd11ec7e9cc754213327abb2e346c26bff3ae5ad88d6ffa5ee563d49a4be6d9cbc2771811c7f035ef94ac9958479259291f
7
- data.tar.gz: 23fcdd22918ccce311d79e96569d80c4a41d750b6c8de825a508318950506c1c3e831fd9295d7d1c8d8bd76439296ba4bc5ea187270c094b7f596d2b4fee7b4c
6
+ metadata.gz: e8dee73553e37d1549b2267c97235a23a292b21cf723aa2bb82e9323abb1a2f8a979beb5c9b38f33c41d130e78837bf1dbbc748f8f5450b4730065363c75b59e
7
+ data.tar.gz: dc6bddcafd3b4855787cdc6c661946c1b6414146ad2c0be0ab8c47b09a0a6935246a0dda6b6021bb7094d2d13e6e0eabf699ea01aff73a5bf86c24442fe43f4f
data/.rspec CHANGED
@@ -1,2 +1,4 @@
1
- --format documentation
2
1
  --color
2
+ --format documentation
3
+ --order random
4
+ --require spec_helper
data/README.md CHANGED
@@ -10,7 +10,9 @@
10
10
 
11
11
  ## Description
12
12
 
13
- Updates your Gist files which are defined in YAML
13
+ Updates your Gist files defined in YAML
14
+
15
+ https://masutaka.net/chalow/2016-09-29-1.html (In Japanese)
14
16
 
15
17
  ## Installation
16
18
 
data/circle.yml CHANGED
@@ -5,3 +5,4 @@ dependencies:
5
5
  test:
6
6
  override:
7
7
  - bundle exec rubocop
8
+ - bundle exec rake spec
data/disabled.yml CHANGED
@@ -23,20 +23,6 @@ Style/Copyright:
23
23
  Description: 'Include a copyright notice in each file before any code.'
24
24
  Enabled: false
25
25
 
26
- Style/Documentation:
27
- Description: 'Document classes and non-namespace modules.'
28
- Enabled: false
29
- Exclude:
30
- - 'spec/**/*'
31
- - 'test/**/*'
32
-
33
- Style/DocumentationMethod:
34
- Description: 'Public methods.'
35
- Enabled: false
36
- Exclude:
37
- - 'spec/**/*'
38
- - 'test/**/*'
39
-
40
26
  Style/Encoding:
41
27
  Description: 'Use UTF-8 as the source file encoding.'
42
28
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#utf-8'
data/enabled.yml CHANGED
@@ -176,6 +176,20 @@ Style/PreferredHashMethods:
176
176
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#hash-key'
177
177
  Enabled: true
178
178
 
179
+ Style/Documentation:
180
+ Description: 'Document classes and non-namespace modules.'
181
+ Enabled: true
182
+ Exclude:
183
+ - 'spec/**/*'
184
+ - 'test/**/*'
185
+
186
+ Style/DocumentationMethod:
187
+ Description: 'Public methods.'
188
+ Enabled: true
189
+ Exclude:
190
+ - 'spec/**/*'
191
+ - 'test/**/*'
192
+
179
193
  Style/DotPosition:
180
194
  Description: 'Checks the position of the dot in multi-line method calls.'
181
195
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
data/gist_updater.gemspec CHANGED
@@ -10,8 +10,11 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = ['Takashi Masuda']
11
11
  spec.email = ['masutaka.net@gmail.com']
12
12
 
13
- spec.summary = 'Updates your Gist files'
14
- spec.description = 'Updates your Gist files which defined in YAML'
13
+ spec.summary = 'Updates your Gist files defined in YAML'
14
+ spec.description = <<~EOS
15
+ Updates your Gist files defined in YAML.
16
+ For example, it's useful for syncing GitHub and Gist in CI.
17
+ EOS
15
18
  spec.homepage = 'https://github.com/masutaka/gist_updater'
16
19
  spec.license = 'MIT'
17
20
 
@@ -29,4 +32,5 @@ Gem::Specification.new do |spec|
29
32
  spec.add_development_dependency 'rake', '~> 10.0'
30
33
  spec.add_development_dependency 'rspec', '~> 3.0'
31
34
  spec.add_development_dependency 'rubocop', '~> 0.43.0'
35
+ spec.add_development_dependency 'yard', '~> 0.9.5'
32
36
  end
@@ -3,6 +3,7 @@
3
3
  require 'thor'
4
4
 
5
5
  module GistUpdater
6
+ # CLI Interface
6
7
  class Commands < Thor
7
8
  package_name 'gist_updater'
8
9
  default_task :update
@@ -17,11 +18,17 @@ module GistUpdater
17
18
  desc: 'Debug mode', default: false
18
19
 
19
20
  desc 'update', 'Update your Gist files (default)'
21
+ # CLI Interface to update your Gist
22
+ #
23
+ # @return (see GistUpdater::Updater#update)
20
24
  def update
21
25
  Updater.new(options).update
22
26
  end
23
27
 
24
28
  desc 'version', 'Display version'
29
+ # CLI Interface to display version
30
+ #
31
+ # @return (see Kernel.puts)
25
32
  def version
26
33
  puts VERSION
27
34
  end
@@ -3,11 +3,20 @@
3
3
  require 'yaml'
4
4
 
5
5
  module GistUpdater
6
+ # User configuration
6
7
  class Config
8
+ # @param file [String] a YAML file path
7
9
  def initialize(file)
8
10
  @file = file
9
11
  end
10
12
 
13
+ # Calls block once for each element in config
14
+ #
15
+ # @yield [gist_id:, file_paths:] Gist file paths
16
+ # @yieldparam gist_id [String] a Gist id
17
+ # @yieldparam file_paths [Array<String>] file paths
18
+ # @yieldreturn [Array]
19
+ # @return [Enumerator]
11
20
  def each
12
21
  return enum_for(:each) unless block_given?
13
22
 
@@ -3,7 +3,12 @@
3
3
  require 'octokit'
4
4
 
5
5
  module GistUpdater
6
+ # A content related to a gist file
6
7
  class Content
8
+ # @param user [String] GitHub username
9
+ # @param access_token [String] GitHub personal access token
10
+ # @param gist_id [String] A gist id
11
+ # @param file_path [String] A relative file path
7
12
  def initialize(user:, access_token:, gist_id:, file_path:)
8
13
  @user = user
9
14
  @access_token = access_token
@@ -11,6 +16,10 @@ module GistUpdater
11
16
  @file_path = file_path
12
17
  end
13
18
 
19
+ # Update the content if needed
20
+ #
21
+ # @return [Sawyer::Resource] an updated resource
22
+ # @return [NilClass] isnot updated
14
23
  def update_if_need
15
24
  if need_to_update?
16
25
  result = update
@@ -42,6 +51,9 @@ module GistUpdater
42
51
  @local ||= File.read(file_path)
43
52
  end
44
53
 
54
+ # Update a Gist file
55
+ #
56
+ # @return [Sawyer::Resource]
45
57
  def update
46
58
  client.edit_gist(
47
59
  gist_id,
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # Updates your Gist files defined in YAML
3
4
  module GistUpdater
4
5
  class << self
5
6
  attr_accessor :debug
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GistUpdater
4
+ # Updates according to user configuration
4
5
  class Updater
6
+ # @param options [Hash] options generated by Thor
7
+ # @param config_class [Class] a Class which has configuration duty
5
8
  def initialize(options, config_class = Config)
6
9
  @user = options[:user] || ENV['GISTUPDATER_USER']
7
10
  @access_token = options[:token] || ENV['GISTUPDATER_ACCESS_TOKEN']
@@ -9,6 +12,9 @@ module GistUpdater
9
12
  GistUpdater.debug = options[:debug]
10
13
  end
11
14
 
15
+ # Update your Gist
16
+ #
17
+ # @return [Fixnum] Updated count
12
18
  def update
13
19
  count = 0
14
20
 
@@ -25,6 +31,9 @@ module GistUpdater
25
31
 
26
32
  attr_reader :user, :access_token, :config
27
33
 
34
+ # Update a Gist file
35
+ #
36
+ # @return (see GistUpdater::Content#update_if_need)
28
37
  def update_by_gist(id, file_path)
29
38
  Content.new(
30
39
  user: user,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GistUpdater
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gist_updater
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takashi Masuda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-28 00:00:00.000000000 Z
11
+ date: 2016-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit
@@ -94,7 +94,23 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.43.0
97
- description: Updates your Gist files which defined in YAML
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.9.5
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.9.5
111
+ description: |
112
+ Updates your Gist files defined in YAML.
113
+ For example, it's useful for syncing GitHub and Gist in CI.
98
114
  email:
99
115
  - masutaka.net@gmail.com
100
116
  executables:
@@ -149,5 +165,5 @@ rubyforge_project:
149
165
  rubygems_version: 2.5.1
150
166
  signing_key:
151
167
  specification_version: 4
152
- summary: Updates your Gist files
168
+ summary: Updates your Gist files defined in YAML
153
169
  test_files: []