zendesk_apps_tools 1.21.5 → 1.22.2

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: 88b1992e05f655b308a59facadceedf4ac16cf9a
4
- data.tar.gz: d5760f39c9ba3cff092f8be54514369a0d7d3f26
3
+ metadata.gz: 7c4b0d2fb599d972c189ddc0c0ef1347d114f15b
4
+ data.tar.gz: 7dab335e1774322983a84a3e7bbc5548447192ac
5
5
  SHA512:
6
- metadata.gz: d5e8839a508c8a19a759048c25f52ebdf9e72bc193d26622efd7ae5969f3102c619c2628debaeba13725be9577b654df0ad77cca81b70384cf2c355645fc1291
7
- data.tar.gz: e5b7eac30376f3cf1b1c28fde92df7e21b556327403f25c89c25ae75985f042e422b16b184b6c3c68cda76651e133414c5890f9140df7c25542b9b23acfa8616
6
+ metadata.gz: e63f36f388534ad226701a34013a0ef8bed4631d36ea7b621f984abb4bd6cf83705dfa085e297d0a1882b8c106ab0930d6cf9c478a024d7ddb8c5a3df50d257f
7
+ data.tar.gz: 397c702a8ddf7e22b504b97fda42bcc5037e5983d59fdf62dda69fb1e06ac74fb8969a6c20a172f64aeed29368b2764b0dad6af3110bf038e1337c07f7a2cedf
@@ -0,0 +1,29 @@
1
+ require 'thor'
2
+ require 'json'
3
+
4
+ require 'zendesk_apps_tools/manifest_handler'
5
+
6
+ module ZendeskAppsTools
7
+ class Bump < Thor
8
+ include Thor::Actions
9
+ prepend ManifestHandler
10
+
11
+ desc 'major', 'Bump major version'
12
+ def major
13
+ semver[:major] += 1
14
+ semver[:minor] = 0
15
+ semver[:patch] = 0
16
+ end
17
+
18
+ desc 'minor', 'Bump minor version'
19
+ def minor
20
+ semver[:minor] += 1
21
+ semver[:patch] = 0
22
+ end
23
+
24
+ desc 'patch', 'Bump patch version'
25
+ def patch
26
+ semver[:patch] += 1
27
+ end
28
+ end
29
+ end
@@ -5,27 +5,29 @@ require 'net/http'
5
5
  require 'json'
6
6
  require 'faraday'
7
7
  require 'io/console'
8
+ require 'zendesk_apps_support'
8
9
 
9
10
  require 'zendesk_apps_tools/command_helpers'
10
11
 
11
12
  module ZendeskAppsTools
12
- require 'zendesk_apps_support'
13
-
14
13
  class Command < Thor
14
+ include Thor::Actions
15
+ include ZendeskAppsSupport
16
+ include ZendeskAppsTools::CommandHelpers
17
+
15
18
  SHARED_OPTIONS = {
16
19
  ['path', '-p'] => './',
17
20
  clean: false
18
21
  }
19
22
 
20
- include Thor::Actions
21
- include ZendeskAppsSupport
22
- include ZendeskAppsTools::CommandHelpers
23
-
24
23
  source_root File.expand_path(File.join(File.dirname(__FILE__), '../..'))
25
24
 
26
25
  desc 'translate SUBCOMMAND', 'Manage translation files', hide: true
27
26
  subcommand 'translate', Translate
28
27
 
28
+ desc 'bump SUBCOMMAND', 'Bump version for app', hide: true
29
+ subcommand 'bump', Bump
30
+
29
31
  desc 'new', 'Generate a new app'
30
32
  def new
31
33
  @author_name = get_value_from_stdin("Enter this app author's name:\n", error_msg: 'Invalid name, try again:')
@@ -6,6 +6,7 @@ require 'zendesk_apps_tools/directory'
6
6
  require 'zendesk_apps_tools/package_helper'
7
7
  require 'zendesk_apps_tools/settings'
8
8
  require 'zendesk_apps_tools/translate'
9
+ require 'zendesk_apps_tools/bump'
9
10
 
10
11
  module ZendeskAppsTools
11
12
  module CommandHelpers
@@ -0,0 +1,69 @@
1
+ module ZendeskAppsTools
2
+ module ManifestHandler
3
+ VERSION_PARTS = %i(major minor patch)
4
+
5
+ attr_reader :semver
6
+
7
+ VERSION_PARTS.each do |m|
8
+ define_method m do
9
+ load_manifest
10
+ read_version
11
+ normalize_version
12
+ super()
13
+ update_version
14
+ write_manifest
15
+ end
16
+ end
17
+
18
+ private
19
+
20
+ def manifest_json_path
21
+ 'manifest.json'
22
+ end
23
+
24
+ def load_manifest
25
+ manifest_json = File.read(manifest_json_path)
26
+ @manifest = JSON.load(manifest_json)
27
+ rescue => e
28
+ say(e.message, :red) and exit 1
29
+ end
30
+
31
+ def read_version
32
+ version = @manifest.fetch('version', '0.0.0')
33
+ sem_parts = sub_semver(version)
34
+ @semver = sem_parts.names.map(&:to_sym).zip(sem_parts.to_a.drop(1)).to_h
35
+ end
36
+
37
+ def normalize_version
38
+ VERSION_PARTS.each do |part|
39
+ semver[part] = (semver[part] || '0').to_i
40
+ end
41
+ end
42
+
43
+ def update_version
44
+ @manifest['version'] = version
45
+ end
46
+
47
+ def write_manifest
48
+ File.open(manifest_json_path, 'w') do |f|
49
+ f.write(JSON.pretty_generate(@manifest))
50
+ f.write("\n")
51
+ end
52
+ end
53
+
54
+ def sub_semver(v)
55
+ v.match(/\A(?<v>v)?(?<major>\d+)(?:\.(?<minor>\d+)(?:\.(?<patch>\d+))?)?\Z/)
56
+ end
57
+
58
+ def version
59
+ [
60
+ semver[:v],
61
+ [
62
+ semver[:major],
63
+ semver[:minor],
64
+ semver[:patch]
65
+ ].compact.map(&:to_s).join('.')
66
+ ].compact.join
67
+ end
68
+ end
69
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.5
4
+ version: 1.22.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-02-12 00:00:00.000000000 Z
14
+ date: 2015-02-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: thor
@@ -183,6 +183,7 @@ files:
183
183
  - features/validate.feature
184
184
  - lib/zendesk_apps_tools.rb
185
185
  - lib/zendesk_apps_tools/api_connection.rb
186
+ - lib/zendesk_apps_tools/bump.rb
186
187
  - lib/zendesk_apps_tools/cache.rb
187
188
  - lib/zendesk_apps_tools/command.rb
188
189
  - lib/zendesk_apps_tools/command_helpers.rb
@@ -190,6 +191,7 @@ files:
190
191
  - lib/zendesk_apps_tools/deploy.rb
191
192
  - lib/zendesk_apps_tools/directory.rb
192
193
  - lib/zendesk_apps_tools/locale_identifier.rb
194
+ - lib/zendesk_apps_tools/manifest_handler.rb
193
195
  - lib/zendesk_apps_tools/package_helper.rb
194
196
  - lib/zendesk_apps_tools/server.rb
195
197
  - lib/zendesk_apps_tools/settings.rb
@@ -207,7 +209,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
207
209
  requirements:
208
210
  - - ">="
209
211
  - !ruby/object:Gem::Version
210
- version: '0'
212
+ version: '2.0'
211
213
  required_rubygems_version: !ruby/object:Gem::Requirement
212
214
  requirements:
213
215
  - - ">="
@@ -215,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
215
217
  version: 1.3.6
216
218
  requirements: []
217
219
  rubyforge_project:
218
- rubygems_version: 2.2.2
220
+ rubygems_version: 2.4.6
219
221
  signing_key:
220
222
  specification_version: 4
221
223
  summary: Tools to help you develop Zendesk Apps.