Class: Heroku::Kensa::Manifest
- Inherits:
-
Object
- Object
- Heroku::Kensa::Manifest
- Defined in:
- lib/heroku/kensa/manifest.rb
Constant Summary collapse
- REGIONS =
%w(us eu frankfurt oregon tokyo virginia *)
Instance Method Summary collapse
- #foreman ⇒ Object
- #get_skeleton ⇒ Object
-
#initialize(options = {}) ⇒ Manifest
constructor
A new instance of Manifest.
- #post_skeleton ⇒ Object
- #skeleton ⇒ Object
- #skeleton_json ⇒ Object
- #write ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Manifest
Returns a new instance of Manifest.
8 9 10 11 12 |
# File 'lib/heroku/kensa/manifest.rb', line 8 def initialize( = {}) @method = .fetch(:method, 'post').to_sym @filename = [:filename] = end |
Instance Method Details
#foreman ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/heroku/kensa/manifest.rb', line 59 def foreman "SSO_SALT=\#{@sso_salt}\nHEROKU_USERNAME=myaddon\nHEROKU_PASSWORD=\#{@password}\n" end |
#get_skeleton ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/heroku/kensa/manifest.rb', line 20 def get_skeleton "{\n \"id\": \"myaddon\",\n \"api\": {\n \"config_vars\": [ \"MYADDON_URL\" ],\n \"regions\": [ \"us\" ],\n \"password\": \"\#{@password}\",\#{ sso_key }\n \"production\": \"https://yourapp.com/\",\n \"test\": \"http://localhost:\#{@port}/\",\n \"requires\": []\n }\n}\n" end |
#post_skeleton ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/heroku/kensa/manifest.rb', line 36 def post_skeleton "{\n \"id\": \"myaddon\",\n \"api\": {\n \"config_vars\": [ \"MYADDON_URL\" ],\n \"requires\": [],\n \"regions\": [ \"us\" ],\n \"password\": \"\#{@password}\",\#{ sso_key }\n \"production\": {\n\"base_url\": \"https://yourapp.com/heroku/resources\",\n\"sso_url\": \"https://yourapp.com/sso/login\"\n },\n \"test\": {\n\"base_url\": \"http://localhost:\#{@port}/heroku/resources\",\n\"sso_url\": \"http://localhost:\#{@port}/sso/login\"\n }\n }\n}\n" end |
#skeleton ⇒ Object
67 68 69 |
# File 'lib/heroku/kensa/manifest.rb', line 67 def skeleton OkJson.decode skeleton_json end |
#skeleton_json ⇒ Object
14 15 16 17 18 |
# File 'lib/heroku/kensa/manifest.rb', line 14 def skeleton_json @password = generate_password(16) @port = [:foreman] ? 5000 : 4567 (@method == :get) ? get_skeleton : post_skeleton end |
#write ⇒ Object
71 72 73 74 |
# File 'lib/heroku/kensa/manifest.rb', line 71 def write File.open(@filename, 'w') { |f| f << skeleton_json } File.open('.env', 'w') { |f| f << foreman } if [:foreman] end |