eldarscrolls 0.7.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.
Files changed (111) hide show
  1. data/.gitignore +8 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +6 -0
  4. data/ChangeLog.md +63 -0
  5. data/Gemfile +3 -0
  6. data/Guardfile +18 -0
  7. data/MIT_LICENSE +20 -0
  8. data/README.md +157 -0
  9. data/Rakefile +78 -0
  10. data/bin/eldar +7 -0
  11. data/bin/eldarscrolls +7 -0
  12. data/eldarscrolls.gemspec +32 -0
  13. data/features/step_definitions/common_steps.rb +211 -0
  14. data/features/support/common.rb +51 -0
  15. data/features/support/env.rb +18 -0
  16. data/lib/eldarscrolls.rb +10 -0
  17. data/lib/eldarscrolls/command.rb +85 -0
  18. data/lib/eldarscrolls/config.rb +86 -0
  19. data/lib/eldarscrolls/scroll.rb +106 -0
  20. data/lib/eldarscrolls/scrolls.rb +38 -0
  21. data/lib/eldarscrolls/template.rb +67 -0
  22. data/lib/rails/generators/.DS_Store +0 -0
  23. data/lib/rails/generators/run_template/USAGE +13 -0
  24. data/lib/rails/generators/run_template/run_template_generator.rb +13 -0
  25. data/sample.rb +74 -0
  26. data/scrolls/active_admin.rb +19 -0
  27. data/scrolls/capybara.rb +34 -0
  28. data/scrolls/cucumber.rb +21 -0
  29. data/scrolls/delayed_job.rb +94 -0
  30. data/scrolls/env_yaml.rb +53 -0
  31. data/scrolls/eycloud.rb +72 -0
  32. data/scrolls/eycloud_recipes_on_deploy.rb +20 -0
  33. data/scrolls/git.rb +17 -0
  34. data/scrolls/github.rb +38 -0
  35. data/scrolls/guard.rb +75 -0
  36. data/scrolls/jquery.rb +11 -0
  37. data/scrolls/mysql.rb +51 -0
  38. data/scrolls/passenger.rb +11 -0
  39. data/scrolls/postgresql.rb +54 -0
  40. data/scrolls/prototype.rb +21 -0
  41. data/scrolls/puma.rb +11 -0
  42. data/scrolls/rails_basics.rb +54 -0
  43. data/scrolls/redis.rb +19 -0
  44. data/scrolls/resque.rb +59 -0
  45. data/scrolls/rspec.rb +21 -0
  46. data/scrolls/simple_form.rb +19 -0
  47. data/scrolls/split.rb +35 -0
  48. data/scrolls/spork.rb +19 -0
  49. data/scrolls/sqlite3.rb +10 -0
  50. data/scrolls/test_unit.rb +11 -0
  51. data/scrolls/thin.rb +10 -0
  52. data/scrolls/twitter_bootstrap.rb +41 -0
  53. data/scrolls/unicorn.rb +10 -0
  54. data/scrolls/zzz/activerecord.rb +69 -0
  55. data/scrolls/zzz/cancan.rb +16 -0
  56. data/scrolls/zzz/carrierwave.rb +42 -0
  57. data/scrolls/zzz/carrierwave_direct.rb +13 -0
  58. data/scrolls/zzz/cartographer.rb +33 -0
  59. data/scrolls/zzz/devise.rb +52 -0
  60. data/scrolls/zzz/devise_invitable.rb +23 -0
  61. data/scrolls/zzz/event_calendar.rb +12 -0
  62. data/scrolls/zzz/factory_girl.rb +38 -0
  63. data/scrolls/zzz/ffaker.rb +22 -0
  64. data/scrolls/zzz/fixture_builder.rb +35 -0
  65. data/scrolls/zzz/forgery.rb +15 -0
  66. data/scrolls/zzz/haml.rb +11 -0
  67. data/scrolls/zzz/heroku.rb +58 -0
  68. data/scrolls/zzz/hoptoad.rb +34 -0
  69. data/scrolls/zzz/inherited_resources.rb +12 -0
  70. data/scrolls/zzz/intercom.rb +35 -0
  71. data/scrolls/zzz/jammit.rb +43 -0
  72. data/scrolls/zzz/jasmine.rb +12 -0
  73. data/scrolls/zzz/mini_magick.rb +13 -0
  74. data/scrolls/zzz/mongo_mapper.rb +20 -0
  75. data/scrolls/zzz/mongohq.rb +61 -0
  76. data/scrolls/zzz/mongoid.rb +20 -0
  77. data/scrolls/zzz/mootools.rb +23 -0
  78. data/scrolls/zzz/newrelic.rb +11 -0
  79. data/scrolls/zzz/nifty_generators.rb +21 -0
  80. data/scrolls/zzz/oa_oauth.rb +12 -0
  81. data/scrolls/zzz/omniauth.rb +55 -0
  82. data/scrolls/zzz/paper_trail.rb +17 -0
  83. data/scrolls/zzz/pow.rb +12 -0
  84. data/scrolls/zzz/rails_admin.rb +22 -0
  85. data/scrolls/zzz/rails_dev_tweaks.rb +10 -0
  86. data/scrolls/zzz/rails_erd.rb +9 -0
  87. data/scrolls/zzz/rails_footnotes.rb +14 -0
  88. data/scrolls/zzz/ransack.rb +32 -0
  89. data/scrolls/zzz/rmagick.rb +13 -0
  90. data/scrolls/zzz/sass.rb +13 -0
  91. data/scrolls/zzz/sequel.rb +13 -0
  92. data/scrolls/zzz/settingslogic.rb +43 -0
  93. data/scrolls/zzz/shoulda_matchers.rb +11 -0
  94. data/scrolls/zzz/sidekiq.rb +23 -0
  95. data/scrolls/zzz/slim.rb +11 -0
  96. data/scrolls/zzz/thinking_sphinx.rb +14 -0
  97. data/scrolls/zzz/vanity.rb +35 -0
  98. data/spec/eldarscrolls/config_spec.rb +99 -0
  99. data/spec/eldarscrolls/scroll_spec.rb +103 -0
  100. data/spec/eldarscrolls/scrolls/sanity_spec.rb +30 -0
  101. data/spec/eldarscrolls/scrolls_spec.rb +24 -0
  102. data/spec/eldarscrolls/template_spec.rb +57 -0
  103. data/spec/spec_helper.rb +11 -0
  104. data/spec/support/rails_directory.rb +17 -0
  105. data/spec/support/template_runner.rb +28 -0
  106. data/templates/helpers.erb +45 -0
  107. data/templates/layout.erb +43 -0
  108. data/templates/new_scroll.erb +28 -0
  109. data/templates/scroll.erb +10 -0
  110. data/version.rb +3 -0
  111. metadata +299 -0
@@ -0,0 +1,103 @@
1
+ require 'spec_helper'
2
+
3
+ describe EldarScrolls::Scroll do
4
+ context "with a generated scroll" do
5
+ subject{ EldarScrolls::Scroll.generate('scroll_example', "# this is a test", :category => 'example', :name => "Eldar Example") }
6
+
7
+ context 'string setter methods' do
8
+ (EldarScrolls::Scroll::ATTRIBUTES - ['config']).each do |setter|
9
+ it "should be able to set #{setter} with an argument" do
10
+ subject.send(setter + '=', "test")
11
+ subject.send(setter).should == 'test'
12
+ end
13
+
14
+ it 'should be able to get the value from the instance' do
15
+ subject.send(setter + '=', 'test')
16
+ subject.new.send(setter).should == subject.send(setter)
17
+ end
18
+ end
19
+ end
20
+
21
+ describe '.attributes' do
22
+ it 'should be accessible from the instance' do
23
+ subject.new.attributes.should == subject.attributes
24
+ end
25
+ end
26
+
27
+ describe '.generate' do
28
+ it 'should work with a string and hash as arguments' do
29
+ scroll = EldarScrolls::Scroll.generate('some_key', '# some code', :name => "Example")
30
+ scroll.superclass.should == EldarScrolls::Scroll
31
+ end
32
+
33
+ it 'should work with an IO object' do
34
+ file = StringIO.new <<-RUBY
35
+ # this is an example
36
+
37
+ __END__
38
+
39
+ category: example
40
+ name: This is an Example
41
+ description: You know it's an exmaple.
42
+ RUBY
43
+ scroll = EldarScrolls::Scroll.generate('just_a_test', file)
44
+ scroll.template.should == '# this is an example'
45
+ scroll.category.should == 'example'
46
+ scroll.name.should == 'This is an Example'
47
+ end
48
+
49
+ it 'should raise an exception if the file is incorrectly formatted' do
50
+ file = StringIO.new <<-RUBY
51
+ # just ruby, no YAML
52
+ RUBY
53
+ lambda{EldarScrolls::Scroll.generate('testing',file)}.should raise_error(ArgumentError)
54
+ end
55
+ end
56
+
57
+ describe '#compile' do
58
+ it 'should say the name' do
59
+ subject.name = "Awesome Sauce"
60
+ subject.new.compile.should be_include("say_scroll 'Awesome Sauce'")
61
+ end
62
+
63
+ it 'should include the template' do
64
+ subject.template = "This is only a test."
65
+ subject.new.compile.should be_include(subject.template)
66
+ end
67
+ end
68
+ end
69
+
70
+ it 'should set default attributes' do
71
+ scroll = EldarScrolls::Scroll.generate('abc','# test')
72
+
73
+ EldarScrolls::Scroll::DEFAULT_ATTRIBUTES.each_pair do |k,v|
74
+ scroll.send(k).should == v
75
+ end
76
+ end
77
+
78
+ context 'Comparable' do
79
+ subject{ EldarScrolls::Scroll }
80
+ it 'a < b.run_after(a)' do
81
+ A = subject.generate('a', '#')
82
+ B = subject.generate('b', '#', :run_after => ['a'])
83
+
84
+ (A < B).should be_true
85
+ end
86
+
87
+ it 'a > b.run_before(a)' do
88
+ A = subject.generate('a', '#')
89
+ B = subject.generate('b', '#', :run_before => ['a'])
90
+
91
+ (A > B).should be_true
92
+ end
93
+
94
+ after do
95
+ Object.send :remove_const, :A if defined?(A)
96
+ Object.send :remove_const, :B if defined?(B)
97
+ end
98
+ end
99
+ end
100
+
101
+ __END__
102
+
103
+ this is a test
@@ -0,0 +1,30 @@
1
+ require 'spec_helper'
2
+
3
+ # This is a simple set of tests to make sure that
4
+ # all of the scrolls conform to the base requirements.
5
+
6
+ EldarScrolls::Scrolls.list_classes.each do |scroll|
7
+ describe scroll do
8
+ it("should have a name"){ scroll.name.should be_kind_of(String) }
9
+ it("should have a description"){ scroll.description.should be_kind_of(String) }
10
+ it("should have a template"){ scroll.template.should be_kind_of(String) }
11
+ it("should be able to compile"){ scroll.new.compile.should be_kind_of(String) }
12
+
13
+ it "should have a string or nil category" do
14
+ if scroll.category
15
+ scroll.category.should be_kind_of(String)
16
+ end
17
+ end
18
+
19
+ it "should have a Config or nil config" do
20
+ if scroll.config
21
+ scroll.config.should be_kind_of(EldarScrolls::Config)
22
+ end
23
+ end
24
+
25
+ it "should be in the list" do
26
+ EldarScrolls::Scrolls.list_classes.should be_include(scroll)
27
+ EldarScrolls::Scrolls.list.should be_include(scroll.key)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe EldarScrolls::Scrolls do
4
+ subject{ EldarScrolls::Scrolls }
5
+ let(:scroll){ EldarScrolls::Scroll.generate("scroll_test", "# Testing", :name => "Test Scroll", :category => "test", :description => "Just a test.")}
6
+
7
+ before(:all) do
8
+ EldarScrolls::Scrolls.add(scroll)
9
+ end
10
+
11
+ it '.list_classes should include scroll classes' do
12
+ subject.list_classes.should be_include(scroll)
13
+ end
14
+
15
+ it '.list should include scroll keys' do
16
+ subject.list.should be_include('scroll_test')
17
+ end
18
+
19
+ describe '.for' do
20
+ it 'should find for a given category' do
21
+ EldarScrolls::Scrolls.for('test').should be_include('scroll_test')
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe EldarScrolls::Template do
4
+ subject{ EldarScrolls::Template }
5
+ let(:scroll){ EldarScrolls::Scroll.generate('name','# test') }
6
+
7
+ describe '#initialize' do
8
+ it 'should work with classes' do
9
+ subject.new([scroll]).scrolls.should == [scroll]
10
+ end
11
+ end
12
+
13
+ describe '#scrolls_with_dependencies' do
14
+ def s(*deps)
15
+ mock(:Class, :requires => deps, :superclass => EldarScrolls::Scroll)
16
+ end
17
+
18
+ def scroll(name)
19
+ EldarScrolls::Scrolls[name]
20
+ end
21
+
22
+ subject do
23
+ @template = EldarScrolls::Template.new([])
24
+ @template.stub!(:scrolls).and_return(@scrolls)
25
+ @template.stub!(:scroll_classes).and_return(@scrolls)
26
+ @template
27
+ end
28
+
29
+ it 'should return the same number scrolls if none have dependencies' do
30
+ @scrolls = [s, s]
31
+ subject.scrolls_with_dependencies.size.should == 2
32
+ end
33
+
34
+ it 'should handle simple dependencies' do
35
+ @scrolls = [s(s, s), s(s)]
36
+ subject.scrolls_with_dependencies.size.should == 5
37
+ end
38
+
39
+ it 'should handle multi-level dependencies' do
40
+ @scrolls = [s(s(s))]
41
+ subject.scrolls_with_dependencies.size.should == 3
42
+ end
43
+
44
+ it 'should uniqify' do
45
+ a = s
46
+ b = s(a)
47
+ c = s(s, a, b)
48
+ @scrolls = [a,b,c]
49
+ subject.scrolls_with_dependencies.size.should == 4
50
+ end
51
+
52
+ it 'should resolve and sort' do
53
+ template = EldarScrolls::Template.new([scroll('eycloud')])
54
+ template.resolve_scrolls.should == [scroll('eycloud_recipes_on_deploy'), scroll('git'), scroll('github'), scroll('eycloud')]
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,11 @@
1
+ require 'bundler'
2
+ Bundler.setup
3
+ require 'rspec'
4
+
5
+ Dir[File.dirname(__FILE__) + '/support/*'].each{|path| require path}
6
+
7
+ require 'eldarscrolls'
8
+
9
+ RSpec.configure do |config|
10
+
11
+ end
@@ -0,0 +1,17 @@
1
+ class RailsDirectory
2
+ def initialize(path)
3
+ @path = path
4
+ end
5
+
6
+ def file_path(path)
7
+ File.join(@path, path)
8
+ end
9
+
10
+ def has_file?(path)
11
+ File.exist?(file_path(path))
12
+ end
13
+
14
+ def [](path)
15
+ File.open(file_path(path)).read
16
+ end
17
+ end
@@ -0,0 +1,28 @@
1
+ class TemplateRunner
2
+ attr_reader :template, :config, :app_name, :dir, :rails_dir, :output
3
+ def initialize(template, config)
4
+ @template = template
5
+ @config = config
6
+ end
7
+
8
+ def run(app_name = 'rails_app')
9
+ @app_name = app_name
10
+ @dir = Dir.mktmpdir
11
+ @rails_dir = File.join(@dir, @app_name)
12
+ Dir.chrdir(@dir) do
13
+ template_file = File.open 'template.rb', 'w'
14
+ template_file.write
15
+ template_file.close
16
+ @output = `rails new #{@app_name} -m template.rb`
17
+ end
18
+ @output
19
+ end
20
+
21
+ def rails
22
+ RailsDirectory.new(@rails_dir)
23
+ end
24
+
25
+ def clean
26
+ FileUtils.remove_entry_secure @dir
27
+ end
28
+ end
@@ -0,0 +1,45 @@
1
+ def scrolls; @scrolls end
2
+ def scroll?(name); @scrolls.include?(name) end
3
+
4
+ def say_custom(tag, text); say "\033[1m\033[36m" + tag.to_s.rjust(10) + "\033[0m" + " #{text}" end
5
+ def say_scroll(name); say "\033[1m\033[36m" + "scroll".rjust(10) + "\033[0m" + " Running #{name} scroll..." end
6
+ def say_wizard(text); say_custom(@current_scroll || 'wizard', text) end
7
+
8
+ def ask_wizard(question)
9
+ ask "\033[1m\033[30m\033[46m" + (@current_scroll || "prompt").rjust(10) + "\033[0m\033[36m" + " #{question}\033[0m"
10
+ end
11
+
12
+ def yes_wizard?(question)
13
+ answer = ask_wizard(question + " \033[33m(y/n)\033[0m")
14
+ case answer.downcase
15
+ when "yes", "y"
16
+ true
17
+ when "no", "n"
18
+ false
19
+ else
20
+ yes_wizard?(question)
21
+ end
22
+ end
23
+
24
+ def no_wizard?(question); !yes_wizard?(question) end
25
+
26
+ def multiple_choice(question, choices)
27
+ say_custom('question', question)
28
+ values = {}
29
+ choices.each_with_index do |choice,i|
30
+ values[(i + 1).to_s] = choice[1]
31
+ say_custom (i + 1).to_s + ')', choice[0]
32
+ end
33
+ answer = ask_wizard("Enter your selection:") while !values.keys.include?(answer)
34
+ values[answer]
35
+ end
36
+
37
+ @current_scroll = nil
38
+ @configs = {}
39
+
40
+ @after_blocks = []
41
+ def after_bundler(&block); @after_blocks << [@current_scroll, block]; end
42
+ @after_everything_blocks = []
43
+ def after_everything(&block); @after_everything_blocks << [@current_scroll, block]; end
44
+ @before_configs = {}
45
+ def before_config(&block); @before_configs[@current_scroll] = block; end
@@ -0,0 +1,43 @@
1
+ # >---------------------------------------------------------------------------<
2
+ #
3
+ # ______ __ ____ ____
4
+ # / __/ /__/ /__ _____ / __/__________ / / /__
5
+ # / _// / _ / _ `/ __/ _\ \/ __/ __/ _ \/ / (_-<
6
+ # /___/_/\_,_/\_,_/_/ /___/\__/_/ \___/_/_/___/
7
+ #
8
+ # This template was generated by Eldar Scrolls, the amazing and awesome Rails
9
+ # application template builder. Get started at http://eldarscrolls.org
10
+ #
11
+ # >---------------------------------------------------------------------------<
12
+
13
+ # >----------------------------[ Initial Setup ]------------------------------<
14
+
15
+ initializer 'generators.rb', <<-RUBY
16
+ Rails.application.config.generators do |g|
17
+ end
18
+ RUBY
19
+
20
+ @scrolls = <%= resolve_scrolls.map(&:key).inspect %>
21
+
22
+ <%= render "helpers" %>
23
+
24
+ <% resolve_scrolls.each do |scroll| %>
25
+ <%= render 'scroll', scroll.get_binding %>
26
+ <% end %>
27
+
28
+ <% if custom_code? %># >-----------------------------[ Custom Code ]-------------------------------<
29
+
30
+ <%= custom_code %><% end %>
31
+
32
+ @current_scroll = nil
33
+
34
+ # >-----------------------------[ Run Bundler ]-------------------------------<
35
+
36
+ say_wizard "Running Bundler install. This will take a while."
37
+ run 'bundle install'
38
+ say_wizard "Running after Bundler callbacks."
39
+ @after_blocks.each{|b| config = @configs[b[0]] || {}; @current_scroll = b[0]; b[1].call}
40
+
41
+ @current_scroll = nil
42
+ say_wizard "Running after everything callbacks."
43
+ @after_everything_blocks.each{|b| config = @configs[b[0]] || {}; @current_scroll = b[0]; b[1].call}
@@ -0,0 +1,28 @@
1
+ gem '<%= name %>'
2
+
3
+ after_bundler do
4
+
5
+ end
6
+
7
+ after_everything do
8
+
9
+ end
10
+
11
+ __END__
12
+
13
+ name: <%= name.humanize.capitalize %>
14
+ description:
15
+ website:
16
+ author: <%= `whoami`.strip %>
17
+
18
+ requires: []
19
+ run_after: []
20
+ run_before: []
21
+
22
+ category: other # authentication, testing, persistence, javascript, css, services, deployment, and templating
23
+ # exclusive:
24
+
25
+ # config:
26
+ # - foo:
27
+ # type: boolean
28
+ # prompt: "Is foo true?"
@@ -0,0 +1,10 @@
1
+ # ><%= "[ #{name} ]".center(75,'-') %><
2
+
3
+ @current_scroll = "<%= key %>"
4
+ @before_configs["<%= key %>"].call if @before_configs["<%= key %>"]
5
+ say_scroll '<%= name %>'
6
+
7
+ <%= config.compile if config %>
8
+ @configs[@current_scroll] = config
9
+
10
+ <%= template %>
@@ -0,0 +1,3 @@
1
+ module EldarScrolls
2
+ VERSION = "0.7.0"
3
+ end
metadata ADDED
@@ -0,0 +1,299 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eldarscrolls
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Michael Bleigh
9
+ - Dr Nic Williams
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2012-04-09 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: i18n
17
+ requirement: &70276957378520 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *70276957378520
26
+ - !ruby/object:Gem::Dependency
27
+ name: json
28
+ requirement: &70276957376440 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - =
32
+ - !ruby/object:Gem::Version
33
+ version: 1.6.5
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *70276957376440
37
+ - !ruby/object:Gem::Dependency
38
+ name: activesupport
39
+ requirement: &70276957395860 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: '3.0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *70276957395860
48
+ - !ruby/object:Gem::Dependency
49
+ name: thor
50
+ requirement: &70276957393280 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *70276957393280
59
+ - !ruby/object:Gem::Dependency
60
+ name: rspec
61
+ requirement: &70276957390260 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: 2.5.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *70276957390260
70
+ - !ruby/object:Gem::Dependency
71
+ name: guard-rspec
72
+ requirement: &70276957388400 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *70276957388400
81
+ - !ruby/object:Gem::Dependency
82
+ name: cucumber
83
+ requirement: &70276957410240 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: *70276957410240
92
+ - !ruby/object:Gem::Dependency
93
+ name: guard-cucumber
94
+ requirement: &70276957408420 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: *70276957408420
103
+ - !ruby/object:Gem::Dependency
104
+ name: bundler
105
+ requirement: &70276957405620 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 1.1.0
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: *70276957405620
114
+ - !ruby/object:Gem::Dependency
115
+ name: guard-bundler
116
+ requirement: &70276957404840 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: *70276957404840
125
+ - !ruby/object:Gem::Dependency
126
+ name: rails
127
+ requirement: &70276957420200 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ~>
131
+ - !ruby/object:Gem::Version
132
+ version: '3.0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: *70276957420200
136
+ description: ! 'The Eldar Scrolls is a magical tool to generate new Rails and modify
137
+ existing Rails applications (coming) to include your favourite, powerful magic. '
138
+ email:
139
+ - michael@intridea.com
140
+ - drnicwilliams@gmail.com
141
+ executables:
142
+ - eldar
143
+ - eldarscrolls
144
+ extensions: []
145
+ extra_rdoc_files: []
146
+ files:
147
+ - .gitignore
148
+ - .rspec
149
+ - .travis.yml
150
+ - ChangeLog.md
151
+ - Gemfile
152
+ - Guardfile
153
+ - MIT_LICENSE
154
+ - README.md
155
+ - Rakefile
156
+ - bin/eldar
157
+ - bin/eldarscrolls
158
+ - eldarscrolls.gemspec
159
+ - features/step_definitions/common_steps.rb
160
+ - features/support/common.rb
161
+ - features/support/env.rb
162
+ - lib/eldarscrolls.rb
163
+ - lib/eldarscrolls/command.rb
164
+ - lib/eldarscrolls/config.rb
165
+ - lib/eldarscrolls/scroll.rb
166
+ - lib/eldarscrolls/scrolls.rb
167
+ - lib/eldarscrolls/template.rb
168
+ - lib/rails/generators/.DS_Store
169
+ - lib/rails/generators/run_template/USAGE
170
+ - lib/rails/generators/run_template/run_template_generator.rb
171
+ - sample.rb
172
+ - scrolls/active_admin.rb
173
+ - scrolls/capybara.rb
174
+ - scrolls/cucumber.rb
175
+ - scrolls/delayed_job.rb
176
+ - scrolls/env_yaml.rb
177
+ - scrolls/eycloud.rb
178
+ - scrolls/eycloud_recipes_on_deploy.rb
179
+ - scrolls/git.rb
180
+ - scrolls/github.rb
181
+ - scrolls/guard.rb
182
+ - scrolls/jquery.rb
183
+ - scrolls/mysql.rb
184
+ - scrolls/passenger.rb
185
+ - scrolls/postgresql.rb
186
+ - scrolls/prototype.rb
187
+ - scrolls/puma.rb
188
+ - scrolls/rails_basics.rb
189
+ - scrolls/redis.rb
190
+ - scrolls/resque.rb
191
+ - scrolls/rspec.rb
192
+ - scrolls/simple_form.rb
193
+ - scrolls/split.rb
194
+ - scrolls/spork.rb
195
+ - scrolls/sqlite3.rb
196
+ - scrolls/test_unit.rb
197
+ - scrolls/thin.rb
198
+ - scrolls/twitter_bootstrap.rb
199
+ - scrolls/unicorn.rb
200
+ - scrolls/zzz/activerecord.rb
201
+ - scrolls/zzz/cancan.rb
202
+ - scrolls/zzz/carrierwave.rb
203
+ - scrolls/zzz/carrierwave_direct.rb
204
+ - scrolls/zzz/cartographer.rb
205
+ - scrolls/zzz/devise.rb
206
+ - scrolls/zzz/devise_invitable.rb
207
+ - scrolls/zzz/event_calendar.rb
208
+ - scrolls/zzz/factory_girl.rb
209
+ - scrolls/zzz/ffaker.rb
210
+ - scrolls/zzz/fixture_builder.rb
211
+ - scrolls/zzz/forgery.rb
212
+ - scrolls/zzz/haml.rb
213
+ - scrolls/zzz/heroku.rb
214
+ - scrolls/zzz/hoptoad.rb
215
+ - scrolls/zzz/inherited_resources.rb
216
+ - scrolls/zzz/intercom.rb
217
+ - scrolls/zzz/jammit.rb
218
+ - scrolls/zzz/jasmine.rb
219
+ - scrolls/zzz/mini_magick.rb
220
+ - scrolls/zzz/mongo_mapper.rb
221
+ - scrolls/zzz/mongohq.rb
222
+ - scrolls/zzz/mongoid.rb
223
+ - scrolls/zzz/mootools.rb
224
+ - scrolls/zzz/newrelic.rb
225
+ - scrolls/zzz/nifty_generators.rb
226
+ - scrolls/zzz/oa_oauth.rb
227
+ - scrolls/zzz/omniauth.rb
228
+ - scrolls/zzz/paper_trail.rb
229
+ - scrolls/zzz/pow.rb
230
+ - scrolls/zzz/rails_admin.rb
231
+ - scrolls/zzz/rails_dev_tweaks.rb
232
+ - scrolls/zzz/rails_erd.rb
233
+ - scrolls/zzz/rails_footnotes.rb
234
+ - scrolls/zzz/ransack.rb
235
+ - scrolls/zzz/rmagick.rb
236
+ - scrolls/zzz/sass.rb
237
+ - scrolls/zzz/sequel.rb
238
+ - scrolls/zzz/settingslogic.rb
239
+ - scrolls/zzz/shoulda_matchers.rb
240
+ - scrolls/zzz/sidekiq.rb
241
+ - scrolls/zzz/slim.rb
242
+ - scrolls/zzz/thinking_sphinx.rb
243
+ - scrolls/zzz/vanity.rb
244
+ - spec/eldarscrolls/config_spec.rb
245
+ - spec/eldarscrolls/scroll_spec.rb
246
+ - spec/eldarscrolls/scrolls/sanity_spec.rb
247
+ - spec/eldarscrolls/scrolls_spec.rb
248
+ - spec/eldarscrolls/template_spec.rb
249
+ - spec/spec_helper.rb
250
+ - spec/support/rails_directory.rb
251
+ - spec/support/template_runner.rb
252
+ - templates/helpers.erb
253
+ - templates/layout.erb
254
+ - templates/new_scroll.erb
255
+ - templates/scroll.erb
256
+ - version.rb
257
+ homepage: http://eldarscrolls.org/
258
+ licenses: []
259
+ post_install_message:
260
+ rdoc_options: []
261
+ require_paths:
262
+ - lib
263
+ required_ruby_version: !ruby/object:Gem::Requirement
264
+ none: false
265
+ requirements:
266
+ - - ! '>='
267
+ - !ruby/object:Gem::Version
268
+ version: '0'
269
+ segments:
270
+ - 0
271
+ hash: 832353447708646036
272
+ required_rubygems_version: !ruby/object:Gem::Requirement
273
+ none: false
274
+ requirements:
275
+ - - ! '>='
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ segments:
279
+ - 0
280
+ hash: 832353447708646036
281
+ requirements: []
282
+ rubyforge_project:
283
+ rubygems_version: 1.8.17
284
+ signing_key:
285
+ specification_version: 3
286
+ summary: The Eldar Scrolls is a magical tool to generate new Rails and modify existing
287
+ Rails applications (coming) to include your favourite, powerful magic.
288
+ test_files:
289
+ - features/step_definitions/common_steps.rb
290
+ - features/support/common.rb
291
+ - features/support/env.rb
292
+ - spec/eldarscrolls/config_spec.rb
293
+ - spec/eldarscrolls/scroll_spec.rb
294
+ - spec/eldarscrolls/scrolls/sanity_spec.rb
295
+ - spec/eldarscrolls/scrolls_spec.rb
296
+ - spec/eldarscrolls/template_spec.rb
297
+ - spec/spec_helper.rb
298
+ - spec/support/rails_directory.rb
299
+ - spec/support/template_runner.rb