gutsy 1.0.2 → 1.0.3

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: 71b8bbd43eda549b32821faa3311c7c9931016e8
4
- data.tar.gz: ff4cd93097c1821ea4fd78b2c0f0e2089066287c
3
+ metadata.gz: 5963cf88c6a7dcb3b18da8262c68823c33093fa8
4
+ data.tar.gz: 2407339cb81184ee02333253302ac6f8af9160be
5
5
  SHA512:
6
- metadata.gz: ea5353ca06269d9ffbd775f21dab34579c1e6934806704af887eae6ac5cadba76145ea776c8864ee299fecb7c03ff7b463f11b48b984e084463ec121add1ac9f
7
- data.tar.gz: c337103698ead5e8d3e963879776daeea11132c922562524eafb88ea25fef4c682773dca171eb82d2d09670d3cc4c2cb1cd2e2dcabc1b9c31a01fb71888b7b06
6
+ metadata.gz: a968f381f49cf8a8c2af6be6a7d4d96f9568a5462d1a0955c717a55361411ede9e0031c19f50814a6d3e9a4a2f77661421b7e493e5b7af49c2e937269916125a
7
+ data.tar.gz: 0c3a94133ee40fd29fc7951e98a5cea5352f95b8c3c638c6d3175b495b9c5b34447af2706068c439f2b7aff30364955df4f0366c1704e6d5810739372d2c4cd9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Gutsy Changelog
2
2
 
3
+ ## 1.0.3
4
+
5
+ * Adds `resource_namespace` configuration
6
+
3
7
  ## 1.0.2
4
8
 
5
9
  * Make repo name configurable
data/examples/config.yml CHANGED
@@ -15,4 +15,5 @@ gutsy:
15
15
  gem_version: 0.2.0 # Gem version
16
16
  versions:
17
17
  - name: v1
18
+ resource_namespace: features # (optional) additional URL namespacing
18
19
  schema_path: docs/api/v1/schema.json
@@ -3,13 +3,14 @@ module Gutsy
3
3
  class ApiVersionState
4
4
  extend Forwardable
5
5
 
6
- attr_reader :name, :schema, :schema_path
6
+ attr_reader :name, :schema, :schema_path, :resource_namespace
7
7
 
8
8
  def_delegators :gem_state, :gem_name_pascal, :gem_name_snake, :app_name, :base_url
9
9
 
10
10
  def initialize(api_version_config, gem_state)
11
11
  @name = api_version_config[:name]
12
12
  @schema_path = api_version_config[:schema_path]
13
+ @resource_namespace = api_version_config[:resource_namespace]
13
14
  @gem_state = gem_state
14
15
  end
15
16
 
@@ -27,7 +27,15 @@ module Gutsy
27
27
  end
28
28
 
29
29
  def api_url
30
- @api_url ||= "#{api_version_state.base_url}/api/#{api_version_state.name.downcase}"
30
+ @api_url ||= "#{api_version_state.base_url}/api/#{resource_namespace}#{api_version_state.name.downcase}"
31
+ end
32
+
33
+ def resource_namespace
34
+ if api_version_state.resource_namespace
35
+ "#{api_version_state.resource_namespace}/"
36
+ else
37
+ ''
38
+ end
31
39
  end
32
40
 
33
41
  def client_output_path
data/lib/gutsy/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gutsy
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
@@ -50,7 +50,7 @@ module <%= gem_name_pascal %>
50
50
  end
51
51
 
52
52
  def api_version=(version)
53
- options[:url] = "#{base_url}/api/#{version}"
53
+ options[:url] = "#{base_url}/api/#{resource_namespace}#{version}"
54
54
  @api_version = version
55
55
  end
56
56
 
@@ -59,8 +59,12 @@ module <%= gem_name_pascal %>
59
59
  end
60
60
 
61
61
  def base_url=(url)
62
- options[:url] = "#{url}/api/#{api_version}"
62
+ options[:url] = "#{url}/api/#{resource_namespace}#{api_version}"
63
63
  @base_url = url
64
64
  end
65
+
66
+ def resource_namespace
67
+ '<%= "#{api_versions.first.resource_namespace}/" if api_versions.first.resource_namespace %>'
68
+ end
65
69
  end
66
70
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gutsy
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Iora Health
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-01 00:00:00.000000000 Z
11
+ date: 2017-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: heroics
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  version: '0'
158
158
  requirements: []
159
159
  rubyforge_project:
160
- rubygems_version: 2.6.13
160
+ rubygems_version: 2.6.11
161
161
  signing_key:
162
162
  specification_version: 4
163
163
  summary: Generates heroics-powered API client gem wrappers from JSON Schema