jeweler_rails 0.0.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 (60) hide show
  1. data/.document +5 -0
  2. data/Gemfile +47 -0
  3. data/Gemfile.lock +136 -0
  4. data/README.rdoc +261 -0
  5. data/Rakefile +7 -0
  6. data/VERSION +1 -0
  7. data/app/assets/images/rails.png +0 -0
  8. data/app/assets/javascripts/application.js +15 -0
  9. data/app/assets/stylesheets/application.css +13 -0
  10. data/app/controllers/application_controller.rb +3 -0
  11. data/app/helpers/application_helper.rb +2 -0
  12. data/app/mailers/.gitkeep +0 -0
  13. data/app/models/.gitkeep +0 -0
  14. data/app/views/layouts/application.html.erb +14 -0
  15. data/config.ru +4 -0
  16. data/config/application.rb +62 -0
  17. data/config/boot.rb +6 -0
  18. data/config/database.yml +25 -0
  19. data/config/environment.rb +5 -0
  20. data/config/environments/development.rb +37 -0
  21. data/config/environments/production.rb +67 -0
  22. data/config/environments/test.rb +37 -0
  23. data/config/initializers/backtrace_silencers.rb +7 -0
  24. data/config/initializers/inflections.rb +15 -0
  25. data/config/initializers/mime_types.rb +5 -0
  26. data/config/initializers/secret_token.rb +7 -0
  27. data/config/initializers/session_store.rb +8 -0
  28. data/config/initializers/wrap_parameters.rb +14 -0
  29. data/config/locales/en.yml +5 -0
  30. data/config/routes.rb +58 -0
  31. data/db/seeds.rb +7 -0
  32. data/doc/README_FOR_APP +2 -0
  33. data/lib/assets/.gitkeep +0 -0
  34. data/lib/generators/jeweler/USAGE +15 -0
  35. data/lib/generators/jeweler/jeweler_generator.rb +64 -0
  36. data/lib/generators/jeweler/templates/.document +5 -0
  37. data/lib/generators/jeweler/templates/README +10 -0
  38. data/lib/generators/jeweler/templates/Rakefile +47 -0
  39. data/lib/jeweler_rails.rb +3 -0
  40. data/lib/jeweler_rails/jeweler_git.rb +42 -0
  41. data/lib/tasks/.gitkeep +0 -0
  42. data/lib/tasks/jeweler.rake +47 -0
  43. data/log/.gitkeep +0 -0
  44. data/public/404.html +26 -0
  45. data/public/422.html +26 -0
  46. data/public/500.html +25 -0
  47. data/public/favicon.ico +0 -0
  48. data/public/index.html +241 -0
  49. data/public/robots.txt +5 -0
  50. data/script/rails +6 -0
  51. data/test/fixtures/.gitkeep +0 -0
  52. data/test/functional/.gitkeep +0 -0
  53. data/test/integration/.gitkeep +0 -0
  54. data/test/performance/browsing_test.rb +12 -0
  55. data/test/test_helper.rb +13 -0
  56. data/test/unit/.gitkeep +0 -0
  57. data/vendor/assets/javascripts/.gitkeep +0 -0
  58. data/vendor/assets/stylesheets/.gitkeep +0 -0
  59. data/vendor/plugins/.gitkeep +0 -0
  60. metadata +220 -0
@@ -0,0 +1,7 @@
1
+ # This file should contain all the record creation needed to seed the database with its default values.
2
+ # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
3
+ #
4
+ # Examples:
5
+ #
6
+ # cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
7
+ # Mayor.create(name: 'Emanuel', city: cities.first)
@@ -0,0 +1,2 @@
1
+ Use this README file to introduce your application and point to useful places in the API for learning more.
2
+ Run "rake doc:app" to generate API documentation for your models, controllers, helpers, and libraries.
File without changes
@@ -0,0 +1,15 @@
1
+ Description:
2
+ A set of simple macros which puts jeweler into the rails generate command
3
+ to make developing rails gems a little easier. Follow the good ol' Jeweler
4
+ guide on making gems to make your gem. Because Jeweler requires git, make
5
+ sure you've already initialized your git repo in this joint.
6
+
7
+ Example:
8
+ rails generate jeweler Thing
9
+
10
+ This will create:
11
+ lib/tasks/jeweler.rake
12
+ .document
13
+
14
+ This will modify:
15
+ Gemfile
@@ -0,0 +1,64 @@
1
+ module Jeweler
2
+ class JewelerGenerator < Rails::Generators::NamedBase
3
+ source_root File.expand_path('../templates', __FILE__)
4
+ desc "Setups jeweler functionality in your current rails app to help you " <<
5
+ "build your rails gem"
6
+ namespace :jeweler
7
+ require File.expand_path('../../../jeweler_rails/jeweler_git',__FILE__)
8
+ def copy_rakefile
9
+ template "Rakefile", "lib/tasks/jeweler.rake"
10
+ end # copy_rakefile
11
+
12
+ def copy_document
13
+ copy_file ".document", ".document"
14
+ end # copy_document
15
+
16
+ def create_namedir
17
+ empty_directory "lib/#{file_name}"
18
+ end # create_namedir
19
+
20
+ def create_gemlib
21
+ create_file "lib/#{file_name}.rb" do
22
+ "# Write your gem code in here!"
23
+ end # create_file
24
+ end # create_gemlib
25
+
26
+ def create_bin
27
+ empty_directory "bin"
28
+ end # create_bin
29
+
30
+ def inject_gemfile
31
+ gem_group :development, :test do
32
+ gem "shoulda", ">= 0"
33
+ gem "rdoc", "~> 3.12"
34
+ gem "bundler", "~> 1.0.0"
35
+ gem "jeweler", "~> 1.8.4"
36
+ end # gem_group
37
+ end # inject_gemfile
38
+
39
+ # TODO: raise exceptions for when the user hasn't told git about himself
40
+ def user_name
41
+ Jeweler::JewelerGit.configuration["user"]["name"]
42
+ end # user_name
43
+
44
+ def github_user
45
+ Jeweler::JewelerGit.configuration["github"]["user"]
46
+ end # github_user
47
+
48
+ def homepage_name
49
+ "https://github.com/" + github_user + "/#{file_name}"
50
+ end # homepage_name
51
+
52
+ def user_email
53
+ Jeweler::JewelerGit.configuration["user"]["email"]
54
+ end # user_email
55
+
56
+ def rails_version
57
+ Rails.version
58
+ end # rails_version
59
+
60
+ def show_readme
61
+ readme( "README" )
62
+ end # show_readme
63
+ end # JewelerGenerator
64
+ end # Jeweler
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
@@ -0,0 +1,10 @@
1
+ ======================================================================
2
+ Stuff you need to do before you can publish your gem.
3
+
4
+ 0. Run bundle install
5
+ 1. Setup your gemspecs in lib/tasks/jeweler.rake
6
+ 2. Make sure you've initialized your rails app into a git repo
7
+
8
+ Read the Jeweler guide on github to get a quick pick-up on how to
9
+ build gems.
10
+ =====================================================================
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "<%= file_name %>"
18
+ gem.homepage = "<%= homepage_name %>"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{TODO: one-line summary of your gem}
21
+ gem.description = %Q{TODO: longer description of your gem}
22
+ gem.email = "<%= user_email %>"
23
+ gem.authors = ["<%= user_name %>"]
24
+ # dependencies defined in Gemfile
25
+ gem.add_dependency "rails", "~><%= rails_version %>"
26
+ end
27
+ Jeweler::RubygemsDotOrgTasks.new
28
+
29
+ require 'rake/testtask'
30
+ Rake::TestTask.new(:test) do |test|
31
+ test.libs << 'lib' << 'test'
32
+ test.pattern = 'test/**/test_*.rb'
33
+ test.verbose = true
34
+ end
35
+
36
+
37
+ task :default => :test
38
+
39
+ require 'rdoc/task'
40
+ Rake::RDocTask.new do |rdoc|
41
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
42
+
43
+ rdoc.rdoc_dir = 'rdoc'
44
+ rdoc.title = "<%= file_name %> #{version}"
45
+ rdoc.rdoc_files.include('README*')
46
+ rdoc.rdoc_files.include('lib/**/*.rb')
47
+ end
@@ -0,0 +1,3 @@
1
+ module Jeweler
2
+
3
+ end # Jeweler
@@ -0,0 +1,42 @@
1
+
2
+ module Jeweler
3
+ class JewelerGit
4
+ @@git_conf = lambda do
5
+ output = {}
6
+ filepath = File.expand_path( "~/.gitconfig", __FILE__)
7
+ return output unless FileTest.exists?( filepath )
8
+ File.open( filepath, "r" ) do |f|
9
+ header_key = nil
10
+ while line = f.gets
11
+ if line =~ /^\[\w+\]$/x
12
+ header_key = line[/\w+/]
13
+ output[header_key] = {}
14
+ elsif line =~ /^.+=.+$/x
15
+ item = line.split("=")
16
+ key = item[0].strip
17
+ val = item[1].strip
18
+ output[header_key][key] = val
19
+ end # if header line
20
+ end # while
21
+ end # File.open
22
+ return output
23
+ end.call # git_conf
24
+
25
+ def self.configuration
26
+ @@git_conf
27
+ end # self.configuration
28
+
29
+ def self.user_name
30
+ @@git_conf["user"]["name"]
31
+ end # self.user_name
32
+
33
+ def self.user_email
34
+ @@git_conf["user"]["email"]
35
+ end # self.user_email
36
+
37
+ def self.github_user
38
+ @@git_conf["github"]["user"]
39
+ end # self.github_name
40
+
41
+ end # JewelerGit
42
+ end # Jeweler
File without changes
@@ -0,0 +1,47 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "jeweler_rails"
18
+ gem.homepage = "https://github.com/foxnewsnetwork/jeweler-rails"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{Jeweler macros for making rails gems}
21
+ gem.description = %Q{All of functions of the jeweler now rolled into the rails generator. Hopefully, this will make generating rails gems from within rails apps a little easier.}
22
+ gem.email = "foxnewsnetwork@gmail.com"
23
+ gem.authors = ["Yuki Nagato"]
24
+ # dependencies defined in Gemfile
25
+ gem.add_dependency "rails", ">=3.0.10"
26
+ end
27
+ Jeweler::RubygemsDotOrgTasks.new
28
+
29
+ require 'rake/testtask'
30
+ Rake::TestTask.new(:test) do |test|
31
+ test.libs << 'lib' << 'test'
32
+ test.pattern = 'test/**/test_*.rb'
33
+ test.verbose = true
34
+ end
35
+
36
+
37
+ task :default => :test
38
+
39
+ require 'rdoc/task'
40
+ Rake::RDocTask.new do |rdoc|
41
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
42
+
43
+ rdoc.rdoc_dir = 'rdoc'
44
+ rdoc.title = "jeweler_rails #{version}"
45
+ rdoc.rdoc_files.include('README*')
46
+ rdoc.rdoc_files.include('lib/**/*.rb')
47
+ end
File without changes
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,241 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Ruby on Rails: Welcome aboard</title>
5
+ <style type="text/css" media="screen">
6
+ body {
7
+ margin: 0;
8
+ margin-bottom: 25px;
9
+ padding: 0;
10
+ background-color: #f0f0f0;
11
+ font-family: "Lucida Grande", "Bitstream Vera Sans", "Verdana";
12
+ font-size: 13px;
13
+ color: #333;
14
+ }
15
+
16
+ h1 {
17
+ font-size: 28px;
18
+ color: #000;
19
+ }
20
+
21
+ a {color: #03c}
22
+ a:hover {
23
+ background-color: #03c;
24
+ color: white;
25
+ text-decoration: none;
26
+ }
27
+
28
+
29
+ #page {
30
+ background-color: #f0f0f0;
31
+ width: 750px;
32
+ margin: 0;
33
+ margin-left: auto;
34
+ margin-right: auto;
35
+ }
36
+
37
+ #content {
38
+ float: left;
39
+ background-color: white;
40
+ border: 3px solid #aaa;
41
+ border-top: none;
42
+ padding: 25px;
43
+ width: 500px;
44
+ }
45
+
46
+ #sidebar {
47
+ float: right;
48
+ width: 175px;
49
+ }
50
+
51
+ #footer {
52
+ clear: both;
53
+ }
54
+
55
+ #header, #about, #getting-started {
56
+ padding-left: 75px;
57
+ padding-right: 30px;
58
+ }
59
+
60
+
61
+ #header {
62
+ background-image: url("assets/rails.png");
63
+ background-repeat: no-repeat;
64
+ background-position: top left;
65
+ height: 64px;
66
+ }
67
+ #header h1, #header h2 {margin: 0}
68
+ #header h2 {
69
+ color: #888;
70
+ font-weight: normal;
71
+ font-size: 16px;
72
+ }
73
+
74
+
75
+ #about h3 {
76
+ margin: 0;
77
+ margin-bottom: 10px;
78
+ font-size: 14px;
79
+ }
80
+
81
+ #about-content {
82
+ background-color: #ffd;
83
+ border: 1px solid #fc0;
84
+ margin-left: -55px;
85
+ margin-right: -10px;
86
+ }
87
+ #about-content table {
88
+ margin-top: 10px;
89
+ margin-bottom: 10px;
90
+ font-size: 11px;
91
+ border-collapse: collapse;
92
+ }
93
+ #about-content td {
94
+ padding: 10px;
95
+ padding-top: 3px;
96
+ padding-bottom: 3px;
97
+ }
98
+ #about-content td.name {color: #555}
99
+ #about-content td.value {color: #000}
100
+
101
+ #about-content ul {
102
+ padding: 0;
103
+ list-style-type: none;
104
+ }
105
+
106
+ #about-content.failure {
107
+ background-color: #fcc;
108
+ border: 1px solid #f00;
109
+ }
110
+ #about-content.failure p {
111
+ margin: 0;
112
+ padding: 10px;
113
+ }
114
+
115
+
116
+ #getting-started {
117
+ border-top: 1px solid #ccc;
118
+ margin-top: 25px;
119
+ padding-top: 15px;
120
+ }
121
+ #getting-started h1 {
122
+ margin: 0;
123
+ font-size: 20px;
124
+ }
125
+ #getting-started h2 {
126
+ margin: 0;
127
+ font-size: 14px;
128
+ font-weight: normal;
129
+ color: #333;
130
+ margin-bottom: 25px;
131
+ }
132
+ #getting-started ol {
133
+ margin-left: 0;
134
+ padding-left: 0;
135
+ }
136
+ #getting-started li {
137
+ font-size: 18px;
138
+ color: #888;
139
+ margin-bottom: 25px;
140
+ }
141
+ #getting-started li h2 {
142
+ margin: 0;
143
+ font-weight: normal;
144
+ font-size: 18px;
145
+ color: #333;
146
+ }
147
+ #getting-started li p {
148
+ color: #555;
149
+ font-size: 13px;
150
+ }
151
+
152
+
153
+ #sidebar ul {
154
+ margin-left: 0;
155
+ padding-left: 0;
156
+ }
157
+ #sidebar ul h3 {
158
+ margin-top: 25px;
159
+ font-size: 16px;
160
+ padding-bottom: 10px;
161
+ border-bottom: 1px solid #ccc;
162
+ }
163
+ #sidebar li {
164
+ list-style-type: none;
165
+ }
166
+ #sidebar ul.links li {
167
+ margin-bottom: 5px;
168
+ }
169
+
170
+ .filename {
171
+ font-style: italic;
172
+ }
173
+ </style>
174
+ <script type="text/javascript">
175
+ function about() {
176
+ info = document.getElementById('about-content');
177
+ if (window.XMLHttpRequest)
178
+ { xhr = new XMLHttpRequest(); }
179
+ else
180
+ { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
181
+ xhr.open("GET","rails/info/properties",false);
182
+ xhr.send("");
183
+ info.innerHTML = xhr.responseText;
184
+ info.style.display = 'block'
185
+ }
186
+ </script>
187
+ </head>
188
+ <body>
189
+ <div id="page">
190
+ <div id="sidebar">
191
+ <ul id="sidebar-items">
192
+ <li>
193
+ <h3>Browse the documentation</h3>
194
+ <ul class="links">
195
+ <li><a href="http://guides.rubyonrails.org/">Rails Guides</a></li>
196
+ <li><a href="http://api.rubyonrails.org/">Rails API</a></li>
197
+ <li><a href="http://www.ruby-doc.org/core/">Ruby core</a></li>
198
+ <li><a href="http://www.ruby-doc.org/stdlib/">Ruby standard library</a></li>
199
+ </ul>
200
+ </li>
201
+ </ul>
202
+ </div>
203
+
204
+ <div id="content">
205
+ <div id="header">
206
+ <h1>Welcome aboard</h1>
207
+ <h2>You&rsquo;re riding Ruby on Rails!</h2>
208
+ </div>
209
+
210
+ <div id="about">
211
+ <h3><a href="rails/info/properties" onclick="about(); return false">About your application&rsquo;s environment</a></h3>
212
+ <div id="about-content" style="display: none"></div>
213
+ </div>
214
+
215
+ <div id="getting-started">
216
+ <h1>Getting started</h1>
217
+ <h2>Here&rsquo;s how to get rolling:</h2>
218
+
219
+ <ol>
220
+ <li>
221
+ <h2>Use <code>rails generate</code> to create your models and controllers</h2>
222
+ <p>To see all available options, run it without parameters.</p>
223
+ </li>
224
+
225
+ <li>
226
+ <h2>Set up a default route and remove <span class="filename">public/index.html</span></h2>
227
+ <p>Routes are set up in <span class="filename">config/routes.rb</span>.</p>
228
+ </li>
229
+
230
+ <li>
231
+ <h2>Create your database</h2>
232
+ <p>Run <code>rake db:create</code> to create your database. If you're not using SQLite (the default), edit <span class="filename">config/database.yml</span> with your username and password.</p>
233
+ </li>
234
+ </ol>
235
+ </div>
236
+ </div>
237
+
238
+ <div id="footer">&nbsp;</div>
239
+ </div>
240
+ </body>
241
+ </html>