rails_sprite 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -0
  3. data/Rakefile +11 -0
  4. data/lib/rails-sprite.rb +8 -0
  5. data/lib/rails_sprite/library/rmagick.rb +30 -0
  6. data/lib/rails_sprite/sprite_util.rb +141 -0
  7. data/lib/rails_sprite/stylesheet_generator.rb +85 -0
  8. data/lib/rails_sprite/version.rb +1 -1
  9. data/test/dummy/README.rdoc +28 -0
  10. data/test/dummy/Rakefile +6 -0
  11. data/test/dummy/app/assets/javascripts/application.js +13 -0
  12. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  13. data/test/dummy/app/controllers/application_controller.rb +5 -0
  14. data/test/dummy/app/helpers/application_helper.rb +2 -0
  15. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  16. data/test/dummy/bin/bundle +3 -0
  17. data/test/dummy/bin/rails +4 -0
  18. data/test/dummy/bin/rake +4 -0
  19. data/test/dummy/bin/setup +29 -0
  20. data/test/dummy/config/application.rb +26 -0
  21. data/test/dummy/config/boot.rb +5 -0
  22. data/test/dummy/config/database.yml +25 -0
  23. data/test/dummy/config/environment.rb +5 -0
  24. data/test/dummy/config/environments/development.rb +41 -0
  25. data/test/dummy/config/environments/production.rb +79 -0
  26. data/test/dummy/config/environments/test.rb +42 -0
  27. data/test/dummy/config/initializers/assets.rb +11 -0
  28. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  29. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  30. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  31. data/test/dummy/config/initializers/inflections.rb +16 -0
  32. data/test/dummy/config/initializers/mime_types.rb +4 -0
  33. data/test/dummy/config/initializers/session_store.rb +3 -0
  34. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  35. data/test/dummy/config/locales/en.yml +23 -0
  36. data/test/dummy/config/routes.rb +56 -0
  37. data/test/dummy/config/secrets.yml +22 -0
  38. data/test/dummy/config.ru +4 -0
  39. data/test/dummy/db/development.sqlite3 +0 -0
  40. data/test/dummy/db/schema.rb +16 -0
  41. data/test/dummy/db/test.sqlite3 +0 -0
  42. data/test/dummy/log/development.log +4 -0
  43. data/test/dummy/log/test.log +1257 -0
  44. data/test/dummy/public/404.html +67 -0
  45. data/test/dummy/public/422.html +67 -0
  46. data/test/dummy/public/500.html +66 -0
  47. data/test/dummy/public/favicon.ico +0 -0
  48. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite/icons/16x16.png +0 -0
  49. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite/icons/32x32.png +0 -0
  50. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite_sources/icons/16x16/avatar.png +0 -0
  51. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite_sources/icons/16x16/heart-rose.png +0 -0
  52. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite_sources/icons/16x16/mail.png +0 -0
  53. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite_sources/icons/32x32/avatar.png +0 -0
  54. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite_sources/icons/32x32/heart-rose.png +0 -0
  55. data/test/fixtures/testing/app/assets/images/rails_xxx/sprite_sources/icons/32x32/mail.png +0 -0
  56. data/test/fixtures/testing/app/assets/stylesheets/rails_xxx/sprite/icons/32x32.css.scss.erb +15 -0
  57. data/test/rails_sprite_test.rb +19 -0
  58. data/test/test_helper.rb +18 -0
  59. metadata +151 -6
  60. data/README.rdoc +0 -3
  61. data/lib/rails_sprite.rb +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f763644bd652e92ab01ddc62baf61205c164b5c
4
- data.tar.gz: d84b7aaaee3e9bccbdc3b42ed13f899d0da5664f
3
+ metadata.gz: f5d585bec2939a29daa6fc0abbc00e44584eedbc
4
+ data.tar.gz: 118e6f1f3037aecf451c51c6f6b555dcd7fb28bb
5
5
  SHA512:
6
- metadata.gz: 44e201af11877e05950df497990de0e4106c5b54030aa93f914962066956b886717082c5822ff02a90dd8796faeaab9c0c6628a539489999133980641196947b
7
- data.tar.gz: 25ba516484ebc622acba056ae7bf55c938157be43930771bbff25bd2afc2c11c148d12dbbb8b21e6a839978c6cd8e34b15bc19b5da6b76654734e93131f7623d
6
+ metadata.gz: 187b4af6c99ccd73a749b7a685ffd8a00cad1ccd767ff5865cf4db6c5fe13c30d5efda4c97a0ad51564497bdf7e314254ff870075a37f57268c3cce16bb3a430
7
+ data.tar.gz: 5125aadda8c0cf1c9144eab18524024ae7d8071b51821cf5830b4649b1504ec07f504d68b35fc3760e37862c0a3e0a36724d08da2b765da41faca777f57f2438
data/README.md ADDED
@@ -0,0 +1,34 @@
1
+ # RailsSprite
2
+
3
+ ```
4
+ eg.
5
+
6
+ image source folder:
7
+
8
+ app/assets/images/rails_xxx/sprite_sources
9
+
10
+ image sprite source:
11
+
12
+ icons/16x16/*.png
13
+ icons/32x32/*.png
14
+
15
+ image sprice to:
16
+
17
+ app/assets/images/rails_xxx/sprite
18
+
19
+ config:
20
+
21
+ simple:
22
+
23
+ RailsSprite.sprite(
24
+ :root_path => "#{File.dirpath(__FILE__)}/..",
25
+ :scope_name => "rails_xxx/",
26
+ :recipe_path => "icons/16x16",
27
+ :file_extend => '.png',
28
+ :spacing => 10,
29
+ :css_class_shared => 'rails_xxx-icon',
30
+ :css_class_prefix => 'icons-16x16-'
31
+ )
32
+
33
+
34
+ ```
data/Rakefile CHANGED
@@ -21,3 +21,14 @@ end
21
21
 
22
22
  Bundler::GemHelper.install_tasks
23
23
 
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'lib'
28
+ t.libs << 'test'
29
+ t.pattern = 'test/**/*_test.rb'
30
+ t.verbose = false
31
+ end
32
+
33
+
34
+ task default: :test
@@ -0,0 +1,8 @@
1
+ require 'rails_sprite/sprite_util'
2
+ require 'rails_sprite/library/rmagick'
3
+
4
+ module RailsSprite
5
+ def self.sprite options={}
6
+ ::RailsSprite::SpriteUtil.new( options ).perform
7
+ end
8
+ end
@@ -0,0 +1,30 @@
1
+ require 'RMagick'
2
+
3
+ module RailsSprite
4
+ module Library
5
+ module RMagick
6
+
7
+ VALID_EXTENSIONS = [:png, :jpg, :jpeg, :gif, :ico]
8
+
9
+ def self.load(filename)
10
+ image = Magick::Image.read(filename)[0]
11
+
12
+ {
13
+ :image => image,
14
+ :width => image.columns,
15
+ :height => image.rows
16
+ }
17
+ end
18
+
19
+ def self.create(filename, images, width, height)
20
+ target = Magick::Image.new(width, height)
21
+ target.opacity = Magick::QuantumRange
22
+ images.each do |image|
23
+ target.composite!(image[:image], image[:x], image[:y], Magick::SrcOverCompositeOp)
24
+ end
25
+ target.write(filename)
26
+ end
27
+
28
+ end # module RMagick
29
+ end # module Library
30
+ end # module SpriteFactory
@@ -0,0 +1,141 @@
1
+ require "rails_sprite/stylesheet_generator"
2
+
3
+ module RailsSprite
4
+ class SpriteUtil
5
+ attr_reader :root_path, :scope_name, :recipe_path, :file_extend,
6
+ :spacing, :image_to_folder, :image_source_folder,
7
+ :stylesheet_to, :image_to_file_path, :css_class_prefix, :css_class_shared,
8
+ :image_scope_name, :stylesheet_scope_name,
9
+ :css_extend, :file_extend_name
10
+
11
+ #
12
+ # :root_path => '.',
13
+ # :scope_name => "rails_xxx",
14
+ # :recipe_path => "icons/16x16",
15
+ # :file_extend => '.png',
16
+ # :spacing => 10,
17
+ # :image_to_folder => "app/assets/images",
18
+ # :image_source_folder => 'app/assets/images/rails_xxx/sprite_sources',
19
+ # :stylesheet_to => "app/assets/stylesheets/rails_xxx/sprite/icons/16x16.css.scss.erb",
20
+ # :image_to_file_path => "rails_xxx/sprite/icons/16x16.png"
21
+ #
22
+ def initialize options={}
23
+ @root_path = options.fetch(:root_path, ::Rails.root)
24
+
25
+ @scope_name = options.fetch(:scope_name, '')
26
+ @scope_name = "#{scope_name}/" unless scope_name.end_with?('/')
27
+
28
+ @recipe_path = options.fetch(:recipe_path, '')
29
+ @recipe_path = recipe_path.chomp('/') if recipe_path.end_with?('/')
30
+
31
+ @file_extend = options.fetch(:file_extend, '.png').downcase
32
+ @css_extend = options.fetch(:css_extend, ".css.scss.erb")
33
+
34
+ @file_extend_name = file_extend.gsub('.', '')
35
+
36
+ @spacing = options.fetch(:spacing, 10)
37
+ @stylesheet_scope_name = "#{scope_name}sprite/#{recipe_path}#{css_extend}"
38
+ @stylesheet_to = options.fetch(:stylesheet_to, "#{root_path}/app/assets/stylesheets/#{stylesheet_scope_name}")
39
+
40
+ @image_source_folder = options.fetch(
41
+ :image_source_folder, "#{root_path}/app/assets/images/#{scope_name}sprite_sources/#{recipe_path}"
42
+ )
43
+
44
+ @image_to_folder = options.fetch(:image_to_folder, "#{root_path}/app/assets/images")
45
+ @image_scope_name = "#{scope_name}sprite/#{recipe_path}#{file_extend}"
46
+ @image_to_file_path = options.fetch(:image_to_file_path, "#{image_to_folder}/#{image_scope_name}")
47
+
48
+ @scope_str = scope_name.chomp('/').gsub('/', '-')
49
+ @recipe_str = recipe_path.chomp('/').gsub('/', '-')
50
+
51
+ @css_class_shared = options.fetch(:css_class_shared, "rs-#{@scope_str}")
52
+ @css_class_prefix = options.fetch(:css_class_prefix, "rs-#{@scope_str}-#{@recipe_str}-")
53
+ end
54
+
55
+ def perform
56
+ file_infos = []
57
+
58
+ # puts "image_source_folder: #{image_source_folder}"
59
+ # puts "image_to_file_path: #{image_to_file_path}"
60
+ # puts "stylesheet_to: #{stylesheet_to}"
61
+
62
+ counter = 0
63
+
64
+ x = 0
65
+ y = 0
66
+ max_w = 0
67
+ max_h = 0
68
+
69
+ Dir.entries( image_source_folder ).each do |file_name|
70
+ if file_name != '.' && file_name != '..' && file_name.end_with?(file_extend)
71
+ file_path = "#{image_source_folder}/#{file_name}"
72
+
73
+ if ::File.file?( file_path )
74
+ # puts "#{file_path}"
75
+
76
+ file_name_split = file_name.split('.')
77
+ file_name_split.pop
78
+ file_purename = file_name_split.join('.')
79
+
80
+ file_info = {
81
+ :filepath => file_path,
82
+ :filename => file_name,
83
+ :file_purename => file_purename,
84
+ :idx => counter
85
+ }.merge(
86
+ _library.load( file_path )
87
+ )
88
+
89
+ file_info[:x] = x
90
+ file_info[:y] = y
91
+
92
+ y += ( spacing + file_info[:height] )
93
+
94
+ max_w = [max_w, file_info[:width]].max
95
+ max_h = y
96
+
97
+ file_infos << file_info
98
+
99
+ counter += 1
100
+ end
101
+ end
102
+ end
103
+
104
+ _composite_images( :file_infos => file_infos, :max_w => max_w, :max_h => max_h )
105
+ _composite_css( file_infos )
106
+ end
107
+
108
+ private
109
+
110
+ def stylesheet_generator
111
+ RailsSprite::StylesheetGenerator
112
+ end
113
+
114
+ def _library
115
+ RailsSprite::Library::RMagick
116
+ end
117
+
118
+ def _composite_css file_infos
119
+ stylesheet_generator.generate(
120
+ :css_class_shared => css_class_shared,
121
+ :css_class_prefix => css_class_prefix,
122
+ :file_infos => file_infos,
123
+ :image_scope_name => image_scope_name,
124
+ :css_extend => css_extend,
125
+ :stylesheet_to => stylesheet_to
126
+ )
127
+ end
128
+
129
+ def _composite_images options={}
130
+ target = Magick::Image.new(options[:max_w], options[:max_h])
131
+ target.opacity = Magick::QuantumRange
132
+
133
+ options[:file_infos].each do |file_info|
134
+ target.composite!(file_info[:image], file_info[:x], file_info[:y], Magick::SrcOverCompositeOp)
135
+ end
136
+
137
+ target.write(image_to_file_path)
138
+ end
139
+
140
+ end
141
+ end
@@ -0,0 +1,85 @@
1
+ module RailsSprite
2
+ class StylesheetGenerator
3
+
4
+ def self.generate options={}
5
+ css_class_prefix = options[:css_class_prefix]
6
+ css_class_shared = options[:css_class_shared]
7
+ css_extend = options[:css_extend]
8
+ image_scope_name = options[:image_scope_name]
9
+ file_infos = options[:file_infos]
10
+ stylesheet_to = options[:stylesheet_to]
11
+
12
+ result = {}
13
+
14
+ styles = []
15
+
16
+ file_infos.each do |file_info|
17
+ style = {}
18
+
19
+ style[:width] = "#{file_info[:width]}px"
20
+ style[:height] = "#{file_info[:height]}px"
21
+ style[:x] = "#{file_info[:x]}px"
22
+ style[:y] = "#{file_info[:y]}px"
23
+ style[:class] = "#{css_class_prefix}#{file_info[:file_purename]}"
24
+
25
+ styles << style
26
+ end
27
+
28
+
29
+ result[:styles] = styles
30
+ result[:image_scope_name] = image_scope_name
31
+ result[:css_class_shared] = css_class_shared
32
+
33
+ # case css_extend
34
+ # when '.css.scss.erb'
35
+ # else
36
+ # end
37
+
38
+ system "mkdir -p #{::File.dirname(stylesheet_to)}"
39
+
40
+ ::File.open(stylesheet_to, 'w') do |file|
41
+ file.write( composite_css_scss_erb(result) )
42
+ end
43
+
44
+ result
45
+ end
46
+
47
+ def self.composite_css_scss_erb result
48
+ styles = []
49
+
50
+ styles << <<-END_CSS
51
+ .#{result[:css_class_shared]} {
52
+ background: url(<%= image_path("#{result[:image_scope_name]}") %>) no-repeat;
53
+ }
54
+ END_CSS
55
+
56
+ result[:styles].each do |style|
57
+ styles << <<-END_CSS
58
+ .#{style[:class]} {
59
+ background-position: #{style[:x]} -#{style[:y]};
60
+ }
61
+ END_CSS
62
+ end
63
+
64
+
65
+ styles.join("\n")
66
+ end
67
+
68
+ # def self.generate(style_name, selector, url, images)
69
+ # styles = []
70
+ # images.each do |image|
71
+ # attr = [
72
+ # "width: #{image[:cssw]}px",
73
+ # "height: #{image[:cssh]}px",
74
+ # "background: #{url} #{-image[:cssx]}px #{-image[:cssy]}px no-repeat"
75
+ # ]
76
+ # image[:selector] = selector # make selector available for (optional) custom rule generators
77
+ # image[:style] = send("#{style_name}_style", attr) # make pure style available for (optional) custom rule generators (see usage of yield inside Runner#style)
78
+ # styles << send(style_name, selector, image[:name], attr)
79
+ # end
80
+ # styles << ""
81
+ # styles.join("\n")
82
+ # end
83
+
84
+ end
85
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsSprite
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,28 @@
1
+ == README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
25
+
26
+
27
+ Please feel free to use a different markup language if you do not plan to run
28
+ <tt>rake doc:app</tt>.
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any styles
10
+ * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
+ * file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,5 @@
1
+ class ApplicationController < ActionController::Base
2
+ # Prevent CSRF attacks by raising an exception.
3
+ # For APIs, you may want to use :null_session instead.
4
+ protect_from_forgery with: :exception
5
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+
4
+ # path to your application root.
5
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
+
7
+ Dir.chdir APP_ROOT do
8
+ # This script is a starting point to setup your application.
9
+ # Add necessary setup steps to this file:
10
+
11
+ puts "== Installing dependencies =="
12
+ system "gem install bundler --conservative"
13
+ system "bundle check || bundle install"
14
+
15
+ # puts "\n== Copying sample files =="
16
+ # unless File.exist?("config/database.yml")
17
+ # system "cp config/database.yml.sample config/database.yml"
18
+ # end
19
+
20
+ puts "\n== Preparing database =="
21
+ system "bin/rake db:setup"
22
+
23
+ puts "\n== Removing old logs and tempfiles =="
24
+ system "rm -f log/*"
25
+ system "rm -rf tmp/cache"
26
+
27
+ puts "\n== Restarting application server =="
28
+ system "touch tmp/restart.txt"
29
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require 'rails/all'
4
+
5
+ Bundler.require(*Rails.groups)
6
+ require "rails-sprite"
7
+
8
+ module Dummy
9
+ class Application < Rails::Application
10
+ # Settings in config/environments/* take precedence over those specified here.
11
+ # Application configuration should go into files in config/initializers
12
+ # -- all .rb files in that directory are automatically loaded.
13
+
14
+ # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
15
+ # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
16
+ # config.time_zone = 'Central Time (US & Canada)'
17
+
18
+ # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
19
+ # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
20
+ # config.i18n.default_locale = :de
21
+
22
+ # Do not swallow errors in after_commit/after_rollback callbacks.
23
+ config.active_record.raise_in_transactional_callbacks = true
24
+ end
25
+ end
26
+
@@ -0,0 +1,5 @@
1
+ # Set up gems listed in the Gemfile.
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../../Gemfile', __FILE__)
3
+
4
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
+ $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -0,0 +1,25 @@
1
+ # SQLite version 3.x
2
+ # gem install sqlite3
3
+ #
4
+ # Ensure the SQLite 3 gem is defined in your Gemfile
5
+ # gem 'sqlite3'
6
+ #
7
+ default: &default
8
+ adapter: sqlite3
9
+ pool: 5
10
+ timeout: 5000
11
+
12
+ development:
13
+ <<: *default
14
+ database: db/development.sqlite3
15
+
16
+ # Warning: The database defined as "test" will be erased and
17
+ # re-generated from your development database when you run "rake".
18
+ # Do not set this db to the same as development or production.
19
+ test:
20
+ <<: *default
21
+ database: db/test.sqlite3
22
+
23
+ production:
24
+ <<: *default
25
+ database: db/production.sqlite3
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,41 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports and disable caching.
13
+ config.consider_all_requests_local = true
14
+ config.action_controller.perform_caching = false
15
+
16
+ # Don't care if the mailer can't send.
17
+ config.action_mailer.raise_delivery_errors = false
18
+
19
+ # Print deprecation notices to the Rails logger.
20
+ config.active_support.deprecation = :log
21
+
22
+ # Raise an error on page load if there are pending migrations.
23
+ config.active_record.migration_error = :page_load
24
+
25
+ # Debug mode disables concatenation and preprocessing of assets.
26
+ # This option may cause significant delays in view rendering with a large
27
+ # number of complex assets.
28
+ config.assets.debug = true
29
+
30
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
31
+ # yet still be able to expire them through the digest params.
32
+ config.assets.digest = true
33
+
34
+ # Adds additional error checking when serving assets at runtime.
35
+ # Checks for improperly declared sprockets dependencies.
36
+ # Raises helpful error messages.
37
+ config.assets.raise_runtime_errors = true
38
+
39
+ # Raises error for missing translations
40
+ # config.action_view.raise_on_missing_translations = true
41
+ end
@@ -0,0 +1,79 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # Code is not reloaded between requests.
5
+ config.cache_classes = true
6
+
7
+ # Eager load code on boot. This eager loads most of Rails and
8
+ # your application in memory, allowing both threaded web servers
9
+ # and those relying on copy on write to perform better.
10
+ # Rake tasks automatically ignore this option for performance.
11
+ config.eager_load = true
12
+
13
+ # Full error reports are disabled and caching is turned on.
14
+ config.consider_all_requests_local = false
15
+ config.action_controller.perform_caching = true
16
+
17
+ # Enable Rack::Cache to put a simple HTTP cache in front of your application
18
+ # Add `rack-cache` to your Gemfile before enabling this.
19
+ # For large-scale production use, consider using a caching reverse proxy like
20
+ # NGINX, varnish or squid.
21
+ # config.action_dispatch.rack_cache = true
22
+
23
+ # Disable serving static files from the `/public` folder by default since
24
+ # Apache or NGINX already handles this.
25
+ config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
26
+
27
+ # Compress JavaScripts and CSS.
28
+ config.assets.js_compressor = :uglifier
29
+ # config.assets.css_compressor = :sass
30
+
31
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
32
+ config.assets.compile = false
33
+
34
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
35
+ # yet still be able to expire them through the digest params.
36
+ config.assets.digest = true
37
+
38
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
39
+
40
+ # Specifies the header that your server uses for sending files.
41
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
42
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
43
+
44
+ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
45
+ # config.force_ssl = true
46
+
47
+ # Use the lowest log level to ensure availability of diagnostic information
48
+ # when problems arise.
49
+ config.log_level = :debug
50
+
51
+ # Prepend all log lines with the following tags.
52
+ # config.log_tags = [ :subdomain, :uuid ]
53
+
54
+ # Use a different logger for distributed setups.
55
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
56
+
57
+ # Use a different cache store in production.
58
+ # config.cache_store = :mem_cache_store
59
+
60
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
61
+ # config.action_controller.asset_host = 'http://assets.example.com'
62
+
63
+ # Ignore bad email addresses and do not raise email delivery errors.
64
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
65
+ # config.action_mailer.raise_delivery_errors = false
66
+
67
+ # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
68
+ # the I18n.default_locale when a translation cannot be found).
69
+ config.i18n.fallbacks = true
70
+
71
+ # Send deprecation notices to registered listeners.
72
+ config.active_support.deprecation = :notify
73
+
74
+ # Use default logging formatter so that PID and timestamp are not suppressed.
75
+ config.log_formatter = ::Logger::Formatter.new
76
+
77
+ # Do not dump schema after migrations.
78
+ config.active_record.dump_schema_after_migration = false
79
+ end