credentials_manager 0.5.0 → 0.6.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
2
  SHA1:
3
- metadata.gz: 95fb4f6a1877c585fb24e661c51cbaed9e3cf159
4
- data.tar.gz: dbab8057fcaaab0ede83680f260e94863a5375fd
3
+ metadata.gz: b6bf495bb403fc526d4b3f141e80fecd2a6641ee
4
+ data.tar.gz: 3062b0ab03c44edd797486fd36736c0875c46a52
5
5
  SHA512:
6
- metadata.gz: bfe02d78ec9b5712e38dd598f731ed1c2e6e96e04476e7eddd9f958cafe6e57d1b14028371a8e0df27314160784b92583e5a0a352b48d74cc73673e90993e3bf
7
- data.tar.gz: 0ee3e7f8370c8783c3eeefbe374e28cc92063f7b38fda07b5a9c0df074a865ce880babf23987aa5134df71559ba036ee1fbb52676aed536a3761b25dfd7f0366
6
+ metadata.gz: 0110c3d38f696b317edc6b28e5375c893d33543cd64ce04f868be1579f4586b845cff524b144fb09576b77edf5e4a9c053c50c3e9feaf3f07322ebac2a63916d
7
+ data.tar.gz: 1abffce1a58dd7c89401a0bf1496b586e249c52928f3f10686ae470cb998311a05440c3b34845abaabf37f6a2b6dd99e9db336dc1bd16a2e9e56cc444f0a06eb
@@ -27,7 +27,28 @@ module CredentialsManager
27
27
  end
28
28
 
29
29
  # If necessary override per lane configuration
30
- blocks[ENV["FASTLANE_LANE_NAME"].to_s].call if (ENV["FASTLANE_LANE_NAME"] && blocks[ENV["FASTLANE_LANE_NAME"].to_s])
30
+ #
31
+ # Appfile can specify different rules per:
32
+ # - Platform
33
+ # - Lane
34
+ #
35
+ # It is forbidden to specify multiple configuration for the same platform. It will raise an exception.
36
+
37
+ # Plaform specified.
38
+ if for_platform_configuration?(blocks)
39
+ blocks[ENV["FASTLANE_PLATFORM_NAME"]].call
40
+ inner_block = blocks[ENV["FASTLANE_PLATFORM_NAME"]]
41
+ if for_lane_configuration?(inner_block)
42
+ # .. Lane specified
43
+ inner_block[ENV["FASTLANE_LANE_NAME"]].call
44
+ end
45
+ else
46
+ # Platform not specified
47
+ if for_lane_configuration?(blocks)
48
+ # .. Lane specified
49
+ blocks[ENV["FASTLANE_LANE_NAME"]].call
50
+ end
51
+ end
31
52
  end
32
53
 
33
54
  def blocks
@@ -68,8 +89,40 @@ module CredentialsManager
68
89
  # Discussion If received lane name does not match the lane name available as environment variable, no changes will
69
90
  # be applied.
70
91
  def for_lane(lane_name, &block)
71
- raise "Configuration for lane '#{lane_name}' was defined multiple times!".red if blocks[lane_name]
72
- blocks[lane_name] = block
92
+ raise "Configuration for lane '#{lane_name}' is defined multiple times!".red if blocks[lane_name]
93
+ if ENV["FASTLANE_PLATFORM_NAME"].nil?
94
+ # No platform specified, assigned configuration by lane name
95
+ blocks[lane_name.to_s] = block
96
+ else
97
+ if ENV["FASTLANE_LANE_NAME"]
98
+ # Platform and lane name specified, assigned lane configuration per different platforms
99
+ blocks[ENV["FASTLANE_PLATFORM_NAME"]] = {lane_name.to_s => block } if lane_name.to_s == ENV["FASTLANE_LANE_NAME"]
100
+ end
101
+ end
102
+ end
103
+
104
+ # Override Appfile configuration for a specific platform.
105
+ #
106
+ # platform_name - Symbol representing a platform name.
107
+ # block - Block to execute to override configuration values.
108
+ #
109
+ # Discussion If received paltform name does not match the platform name available as environment variable, no changes will
110
+ # be applied.
111
+ def for_platform(platform_name, &block)
112
+ raise "Configuration for platform '#{platform_name}' is defined multiple times!".red if blocks[platform_name]
113
+ blocks[platform_name.to_s] = block
114
+ end
115
+
116
+ # Private helpers
117
+
118
+ def for_lane_configuration?(block)
119
+ return block[ENV["FASTLANE_LANE_NAME"].to_s] if ENV["FASTLANE_LANE_NAME"]
120
+ false
121
+ end
122
+
123
+ def for_platform_configuration?(block)
124
+ return block[ENV["FASTLANE_PLATFORM_NAME"].to_s] if ENV["FASTLANE_PLATFORM_NAME"]
125
+ false
73
126
  end
74
127
  end
75
- end
128
+ end
@@ -1,3 +1,3 @@
1
1
  module CredentialsManager
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: credentials_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-16 00:00:00.000000000 Z
11
+ date: 2015-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline