zen_garden 0.0.2 → 0.0.5

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: f5e1ab681309cc1100c09db8d3ab0332bd49689d
4
- data.tar.gz: b79063570d6678572abca43bbdae8c4a72017837
3
+ metadata.gz: 654f7a8a6967ab76ceb51ea5850e290dff6dac83
4
+ data.tar.gz: d0857fe9ff7bd698ff35654b9c1ae405dadb7999
5
5
  SHA512:
6
- metadata.gz: 06ab978a4e199b8ef56382743b028f9cfa971f170f832d54393b69c209cfe99481a3a63f2d6a83de47b85b901bd5a340d00c9b5dd88822cc3cf2708ad15139c4
7
- data.tar.gz: 0d6715ff5d6c418032d20bcb6822b381fdd339654b77cb7c448bf6cfac9f6e8869c579dd3ff429e99b98f5d880d276f97dbb856ec9c9ebe44324bf8c0ed5d1dd
6
+ metadata.gz: d386d27907b78deec77c4b69887171628156a8732cec536d9cd988521518f3223b07a2e6d826b55e44da33fdde6c3fb2a6b7f544c635c2fa678e0776064cf196
7
+ data.tar.gz: a15ad7a15b3a3482e77e858c0a782cfaec904382ca1b2255129167afc9788e2878f2f61c142ea376be4ee40c1cea7843ef0d0936c5ecdb561c14665f9fff43cf
data/.travis.yml CHANGED
@@ -1,2 +1,4 @@
1
1
  language: ruby
2
+ rvm:
3
+ - 2.0.0-p247
2
4
  script: bundle exec rspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zen_garden (0.0.2)
4
+ zen_garden (0.0.5)
5
+ heroku
5
6
  rails (>= 3.0.0)
6
7
  rake
7
8
 
@@ -32,19 +33,32 @@ GEM
32
33
  multi_json (~> 1.3)
33
34
  thread_safe (~> 0.1)
34
35
  tzinfo (~> 0.3.37)
36
+ addressable (2.3.5)
35
37
  arel (4.0.1)
36
38
  atomic (1.1.14)
37
39
  builder (3.1.4)
38
40
  diff-lcs (1.2.5)
39
41
  erubis (2.7.0)
42
+ excon (0.25.3)
43
+ heroku (3.0.1)
44
+ heroku-api (~> 0.3.7)
45
+ launchy (>= 0.3.2)
46
+ netrc (~> 0.7.7)
47
+ rest-client (~> 1.6.1)
48
+ rubyzip
49
+ heroku-api (0.3.15)
50
+ excon (~> 0.25.1)
40
51
  hike (1.2.3)
41
52
  i18n (0.6.5)
53
+ launchy (2.4.0)
54
+ addressable (~> 2.3)
42
55
  mail (2.5.4)
43
56
  mime-types (~> 1.16)
44
57
  treetop (~> 1.4.8)
45
58
  mime-types (1.25)
46
59
  minitest (4.7.5)
47
60
  multi_json (1.8.2)
61
+ netrc (0.7.7)
48
62
  polyglot (0.3.3)
49
63
  rack (1.5.2)
50
64
  rack-test (0.6.2)
@@ -63,6 +77,8 @@ GEM
63
77
  rake (>= 0.8.7)
64
78
  thor (>= 0.18.1, < 2.0)
65
79
  rake (10.1.0)
80
+ rest-client (1.6.7)
81
+ mime-types (>= 1.16)
66
82
  rspec (2.14.1)
67
83
  rspec-core (~> 2.14.0)
68
84
  rspec-expectations (~> 2.14.0)
@@ -71,6 +87,7 @@ GEM
71
87
  rspec-expectations (2.14.4)
72
88
  diff-lcs (>= 1.1.3, < 2.0)
73
89
  rspec-mocks (2.14.4)
90
+ rubyzip (1.1.0)
74
91
  sprockets (2.10.0)
75
92
  hike (~> 1.2)
76
93
  multi_json (~> 1.0)
data/README.md CHANGED
@@ -10,6 +10,10 @@ Travis as part of your continous deployment workflow.
10
10
  installed, also notifies it of the deploy.
11
11
  - **rake db** uses database.yml to figure out your username, then
12
12
  creates a username and sets up the database with your schema.
13
+ - **rake test** will be written if Rails doesn't implement its own test
14
+ tasks, and create a combo task for RSpec and Teaspoon, as well as
15
+ include the RSpec and Teaspoon Rake tasks if they haven't already been
16
+ included.
13
17
 
14
18
  ## Usage
15
19
 
data/lib/tasks/db.rake CHANGED
@@ -10,4 +10,4 @@ namespace :db do
10
10
  end
11
11
 
12
12
  desc "Create the database user and database, set up the schema, and run seeds"
13
- task :db => %w(db:user db:setup)
13
+ task :db => %w(db:user db:setup db:test:prepare)
@@ -1,15 +1,15 @@
1
- require 'zen_garden'
1
+ require 'zen_garden/ssh'
2
+ require 'zen_garden/bundle_command'
2
3
 
3
4
  namespace :deploy do
4
- include ZenGarden::SSH
5
+ include ZenGarden::SSH, ZenGarden::BundleCommand
5
6
 
6
7
  task :ssh_configuration do
7
8
  write_ssh_config unless ssh_config_exists?
8
9
  end
9
10
 
10
11
  task :heroku_keys do
11
- sh 'yes | heroku keys:clear'
12
- sh 'yes | heroku keys:add'
12
+ bundle_exec 'heroku keys:clear', 'heroku keys:add'
13
13
  end
14
14
 
15
15
  task :application_to_heroku do
@@ -0,0 +1,29 @@
1
+ require 'zen_garden/env_file'
2
+
3
+ namespace :test do
4
+ desc "Encrypt credentials for the testing environment on CI"
5
+ task :credentials => :environment do
6
+ project = ENV['TRAVIS_PROJECT_NAME']
7
+ env = ZenGarden::EnvFile.new "#{Rails.root}/.env"
8
+
9
+ env.exports do |key,value|
10
+ sh "travis encrypt #{project} '#{key}=#{value}'"
11
+ end
12
+ end
13
+
14
+ end
15
+
16
+ unless defined? Rails::TestUnitRailtie
17
+ begin
18
+ require 'rspec/core/rake_task'
19
+
20
+ if defined? Teaspoon
21
+ RSpec::Core::RakeTask.new :spec
22
+
23
+ desc "Run RSpec and Teaspoon code examples"
24
+ task :test => %w(spec teaspoon)
25
+ else
26
+ RSpec::Core::RakeTask.new :test
27
+ end
28
+ rescue LoadError; end
29
+ end
@@ -0,0 +1,7 @@
1
+ module ZenGarden
2
+ module BundleCommand
3
+ def bundle_exec *commands
4
+ commands.each { |command| sh "yes | bundle exec #{command}" }
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,26 @@
1
+ module ZenGarden
2
+ class EnvFile
3
+ attr_reader :location
4
+
5
+ def initialize location=".env"
6
+ @location = location
7
+
8
+ raise ArgumentError, "Env file not found" unless exists?
9
+ end
10
+
11
+ def exports
12
+ contents.select { |line| line =~ /\Aexport\s/ }
13
+ .map { |line| line.gsub(/\Aexport\s/, '').split '=' }
14
+ .reduce({}) { |hash,(key,value)| hash.merge key => value }
15
+ end
16
+
17
+ def contents
18
+ @contents ||= File.read(location).split "\n"
19
+ end
20
+
21
+ private
22
+ def exists?
23
+ File.exists? location
24
+ end
25
+ end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module ZenGarden
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/zen_garden.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "zen_garden/engine"
2
2
  require "zen_garden/ssh"
3
3
  require "zen_garden/database"
4
+ require "zen_garden/bundle_command"
4
5
 
5
6
  module ZenGarden
6
7
  # The app name as defined by $HEROKU_APP_NAME in your shell.
data/zen_garden.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
 
27
27
  s.add_dependency "rails", '>= 3.0.0'
28
28
  s.add_dependency "rake"
29
+ s.add_dependency "heroku"
29
30
 
30
31
  s.add_development_dependency "sqlite3"
31
32
  s.add_development_dependency "rspec"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zen_garden
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Scott
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-18 00:00:00.000000000 Z
11
+ date: 2013-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: heroku
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: sqlite3
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,10 +100,13 @@ files:
86
100
  - config/routes.rb
87
101
  - lib/tasks/db.rake
88
102
  - lib/tasks/deploy.rake
103
+ - lib/tasks/test.rake
89
104
  - lib/tasks/zen_garden_tasks.rake
90
105
  - lib/zen_garden.rb
106
+ - lib/zen_garden/bundle_command.rb
91
107
  - lib/zen_garden/database.rb
92
108
  - lib/zen_garden/engine.rb
109
+ - lib/zen_garden/env_file.rb
93
110
  - lib/zen_garden/ssh.rb
94
111
  - lib/zen_garden/version.rb
95
112
  - spec/dummy/README.rdoc