rack-dev-mark 0.4.3 → 0.4.4

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzNhNjI3ZWU2ZjY5MjJiNTkwNGUwYjE3NjdlNjg4YmIwNjMxZjhhNA==
4
+ NDk1ZDY4YWRhZjU5NDM4Y2Y5MzhlZmY0MmY3N2NkYjE0NGJjOTBjNg==
5
5
  data.tar.gz: !binary |-
6
- ZjI0OTZkZjFjZmIwY2Y0MmRmOWUwNGEyNmNlMDQ5Mjc1MGRlZTBjNA==
6
+ YTg2ODY2N2Y4YzkxOGQ5MTQyZWQ2MzA3ZjUwMDNlNWQwZmQ1ZjIzZg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTFhODFmMDRjZWZjNTYzMTEyNTFkOTE2ZWIxMTBiYWE0N2UxNzNhZjk1MzNh
10
- MjkyZGZiMTAwMWFmZmMwNWExYTc3ZDQ4NDczMDE2M2Y3NDU5ZmRiYWI2OThk
11
- Njc5M2NiM2ZmZTAxZmQ3ZjI2MjE3MTA1NzcwMmNjZTRjYzdiNDQ=
9
+ YTdmYjNiYzgxZTMwYjU2OTlmZjgwYWVjOTg1YTY0NzM4MTM4ZTRlNzliYWVl
10
+ NGFlNmRiZDgwZDYxZjc5ZTEyMTViM2FkMDZmZmNhZjdmOTE3YmY0OWE5Y2Nl
11
+ ZTJlZmIxZDk3YWNlNDA1ZDFmYjNkMjdlMzVmYjAwMmVmZWRmZWE=
12
12
  data.tar.gz: !binary |-
13
- ZjIwYWVlYzIwYzEwNTVhOTBmZTI1ZDIyZWRiZTViYzNlODdhNDJlNmY3NjE3
14
- MmY3NGFjZWE3NGZhY2Q4NGY4MDVhMThjYmFlNDBlNTcyMGViMmM1NWFhOWU5
15
- ODg4ODkzNmVjYjA3ODhiMjVkMzUyZjIzZjFjMTUxZjFmNGNjMTI=
13
+ N2NkYzllZTYxMTU2NWRkOWUwNDA3MGRiN2QyNzBiMTI2MGMyMDdlZGUzYTFj
14
+ YTUyY2I0ODQ3NmY0M2QyNzM0OTFjZDQzZjhmMWIxN2YzYjUxOTA0NzI3YTUx
15
+ MzdmOTgxOWRmNDIyMzAxZmM3N2VkNGI1MDhiNmM2NGZlNzk3MGM=
@@ -10,6 +10,9 @@ gemfile:
10
10
  - gemfiles/rack.1.3.x.gemfile
11
11
  - gemfiles/rack.1.2.x.gemfile
12
12
  - gemfiles/rack.1.1.x.gemfile
13
+ - gemfiles/rails.3.2.x.gemfile
14
+ - gemfiles/rails.4.0.x.gemfile
15
+ - gemfiles/rails.4.1.x.gemfile
13
16
 
14
17
  script: "bundle exec rake spec"
15
18
 
data/README.md CHANGED
@@ -25,7 +25,7 @@ gem "rack-dev-mark"
25
25
 
26
26
  And run `bundle install`.
27
27
 
28
- ### For your Rack app
28
+ ### For Rack App
29
29
 
30
30
  ```ruby
31
31
  require 'rack/dev-mark'
@@ -33,7 +33,7 @@ use Rack::DevMark::Middleware
33
33
  run MyApp
34
34
  ```
35
35
 
36
- ### For your Rails app
36
+ ### For Rails App
37
37
 
38
38
  In `config/environments/development.rb`
39
39
 
@@ -79,7 +79,7 @@ end
79
79
 
80
80
  ## Custom Theme
81
81
 
82
- Define a sub class of `Rack::DevMark::Theme::Base` somewhere in your app.
82
+ Create your own theme class inheriting `Rack::DevMark::Theme::Base`.
83
83
 
84
84
  ```ruby
85
85
  require 'rack/dev-mark/theme/base'
@@ -101,25 +101,25 @@ end
101
101
 
102
102
  Then, insert them in your app.
103
103
 
104
- ### For your Rack app
104
+ ### For Rack App
105
105
 
106
106
  ```ruby
107
107
  use Rack::DevMark::Middleware, [NewTheme.new, AnotherTheme.new]
108
108
  ```
109
109
 
110
- ### For your Rails app
110
+ ### For Rails App
111
111
 
112
112
  In `config/application.rb`
113
113
 
114
114
  ```ruby
115
115
  module MyApp
116
116
  class Application < Rails::Application
117
- config.rack_dev_mark.custom_theme = [NewTheme.new, AnotherTheme.new]
117
+ config.rack_dev_mark.theme = [NewTheme.new, AnotherTheme.new]
118
118
  end
119
119
  end
120
120
  ```
121
121
 
122
- You can add any combination of themes.
122
+ You can add any combination of themes. See more about [themes](lib/rack/dev-mark/theme/README.md).
123
123
 
124
124
  ## Contributing
125
125
 
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'rails', '~> 3.2'
4
+ gemspec :path => '../'
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'rails', '~> 4.0'
4
+ gemspec :path => '../'
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'rails', '~> 4.1'
4
+ gemspec :path => '../'
@@ -1,3 +1,4 @@
1
+ require 'rails/generators'
1
2
  require 'rails/generators/base'
2
3
 
3
4
  module Rack
@@ -7,15 +8,21 @@ module Rack
7
8
 
8
9
  desc "Install rack-dev-mark."
9
10
  def insert_enable
10
- insert_into_file 'config/application.rb', after: "< Rails::Application\n" do <<-EOS
11
+ insert_into_file target_path, after: "< Rails::Application\n" do <<-EOS
11
12
  # Enable rack-dev-mark
12
13
  config.rack_dev_mark.enable = !Rails.env.production?
13
14
  # Customize themes if you want to do so
14
- # config.rack_dev_mark.custom_theme = [:title, :github_fork_ribbon]
15
+ # config.rack_dev_mark.theme = [:title, :github_fork_ribbon]
15
16
 
16
17
  EOS
17
18
  end
18
19
  end
20
+
21
+ private
22
+
23
+ def target_path
24
+ 'config/application.rb'
25
+ end
19
26
  end
20
27
  end
21
28
  end
@@ -8,7 +8,9 @@ module Rack
8
8
  initializer "rack-dev-mark.configure_rails_initialization" do |app|
9
9
  if app.config.rack_dev_mark.enable
10
10
  racks = [ActionDispatch::ShowExceptions, Rack::DevMark::Middleware]
11
- racks << app.config.rack_dev_mark.custom_theme if app.config.rack_dev_mark.custom_theme
11
+ if theme = app.config.rack_dev_mark.theme || app.config.rack_dev_mark.custom_theme
12
+ racks << theme
13
+ end
12
14
  app.config.app_middleware.insert_before *racks
13
15
  end
14
16
  end
@@ -2,20 +2,20 @@
2
2
 
3
3
  You can set options when you add the themes into your app. Otherwise, just put the symbol of the theme filename.
4
4
 
5
- ### For your Rack app
5
+ ### For Rack App
6
6
 
7
7
  ```ruby
8
8
  use Rack::DevMark::Middleware, [:title, Rack::DevMark::Theme::GithubForkRibbon.new(position: 'right')]
9
9
  ```
10
10
 
11
- ### For your Rails app
11
+ ### For Rails App
12
12
 
13
13
  In config/application.rb
14
14
 
15
15
  ```ruby
16
16
  module MyApp
17
17
  class Application < Rails::Application
18
- config.rack_dev_mark.custom_theme = [:title, Rack::DevMark::Theme::GithubForkRibbon.new(position: 'right')]
18
+ config.rack_dev_mark.theme = [:title, Rack::DevMark::Theme::GithubForkRibbon.new(position: 'right')]
19
19
  end
20
20
  end
21
21
  ```
@@ -34,11 +34,11 @@ e.g.
34
34
 
35
35
  `upcase`: `true` or `false` (default)
36
36
 
37
- ## github-fork-ribbon
37
+ ## github_fork_ribbon
38
38
 
39
39
  ["Fork Me on GitHub" like ribbon](https://github.com/simonwhitaker/github-fork-ribbon-css) originally created by [simonwhitaker](https://github.com/simonwhitaker)
40
40
 
41
- ![github-fork-ribbon](screenshots/github_fork_ribbon.png)
41
+ ![github_fork_ribbon](screenshots/github_fork_ribbon.png)
42
42
 
43
43
  ### options
44
44
 
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module DevMark
3
- VERSION = '0.4.3'
3
+ VERSION = '0.4.4'
4
4
  end
5
5
  end
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+
3
+ if defined?(::Rails)
4
+ require 'tempfile'
5
+ require 'generators/rack/dev-mark/install_generator'
6
+ describe Rack::DevMark::InstallGenerator do
7
+ include_context 'forked spec'
8
+
9
+ context "config/application.rb" do
10
+ let(:application_rb) { Tempfile.new('config_application.rb') }
11
+ before do
12
+ application_rb.write <<-EOS
13
+ module MyApp
14
+ class Application < Rails::Application
15
+ # ...
16
+ end
17
+ end
18
+ EOS
19
+ application_rb.rewind
20
+ allow_any_instance_of(Rack::DevMark::InstallGenerator).to receive(:target_path).and_return(application_rb.path)
21
+ end
22
+ after do
23
+ application_rb.close
24
+ application_rb.unlink
25
+ end
26
+
27
+ it 'inserts rack-dev-mark settings' do
28
+ Rails::Generators.invoke("rack:dev-mark:install")
29
+ application_rb.rewind
30
+ expect(application_rb.read).to eq <<-EOS
31
+ module MyApp
32
+ class Application < Rails::Application
33
+ # Enable rack-dev-mark
34
+ config.rack_dev_mark.enable = !Rails.env.production?
35
+ # Customize themes if you want to do so
36
+ # config.rack_dev_mark.theme = [:title, :github_fork_ribbon]
37
+
38
+ # ...
39
+ end
40
+ end
41
+ EOS
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+
3
+ if defined?(::Rails)
4
+ describe Rack::DevMark::Railtie do
5
+ include_context 'forked spec'
6
+
7
+ before do
8
+ @app = Class.new(::Rails::Application)
9
+ @app.config.active_support.deprecation = :stderr
10
+ @app.config.eager_load = false
11
+ end
12
+ context "rack_dev_mark enable" do
13
+ before do
14
+ @app.config.rack_dev_mark.enable = true
15
+ @app.initialize!
16
+ end
17
+ it 'inserts the middleware' do
18
+ expect(@app.middleware.middlewares).to include(Rack::DevMark::Middleware)
19
+ end
20
+ end
21
+ context "rack_dev_mark disable" do
22
+ before do
23
+ @app.config.rack_dev_mark.enable = false
24
+ @app.initialize!
25
+ end
26
+ it 'does not insert the middleware' do
27
+ expect(@app.middleware.middlewares).not_to include(Rack::DevMark::Middleware)
28
+ end
29
+ end
30
+ context "rack_dev_mark theme" do
31
+ let(:theme) { d = double setup: nil; allow(d).to receive(:insert_into){ |b| "#{b} dev-mark" }; d }
32
+ before do
33
+ @app.config.rack_dev_mark.enable = true
34
+ @app.config.rack_dev_mark.theme = [theme]
35
+ @app.initialize!
36
+ end
37
+ it 'inserts the middleware' do
38
+ expect(theme).to receive(:setup)
39
+ end
40
+ end
41
+ context "rack_dev_mark custom_theme alias" do
42
+ let(:theme) { d = double setup: nil; allow(d).to receive(:insert_into){ |b| "#{b} dev-mark" }; d }
43
+ before do
44
+ @app.config.rack_dev_mark.enable = true
45
+ @app.config.rack_dev_mark.custom_theme = [theme]
46
+ @app.initialize!
47
+ end
48
+ it 'inserts the middleware' do
49
+ expect(theme).to receive(:setup)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -1,13 +1,35 @@
1
1
  require 'rubygems'
2
+ require 'simplecov'
2
3
  require 'coveralls'
3
4
  Coveralls.wear!
4
5
 
6
+ resultset_path = SimpleCov::ResultMerger.resultset_path
7
+ FileUtils.rm resultset_path if File.exists? resultset_path
8
+ SimpleCov.use_merging true
9
+ SimpleCov.at_exit do
10
+ SimpleCov.command_name "fork-#{$$}"
11
+ SimpleCov.result.format!
12
+ end
13
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
14
+ SimpleCov::Formatter::HTMLFormatter,
15
+ Coveralls::SimpleCov::Formatter
16
+ ]
17
+ SimpleCov.start do
18
+ add_filter 'spec/'
19
+ end
20
+
21
+ ENV['RACK_ENV'] = 'test'
22
+
5
23
  require 'rack'
24
+ begin
25
+ require 'rails'
26
+ $stdout.write "* Rails has been loaded.\n"
27
+ rescue LoadError
28
+ end
6
29
  require 'rack-dev-mark'
7
30
 
8
31
  Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each {|f| require f }
9
32
 
10
- ENV['RACK_ENV'] = 'test'
11
33
  RSpec.configure do |config|
12
34
  end
13
35
 
@@ -0,0 +1,16 @@
1
+ shared_context 'forked spec' do
2
+ around do |example|
3
+ read, write = IO.pipe
4
+ pid = fork do
5
+ $stdout.sync = true
6
+ $stderr.sync = true
7
+ res = example.run
8
+ Marshal.dump(res, write)
9
+ write.close
10
+ end
11
+ Process.waitpid2 pid
12
+ res = Marshal.load(read)
13
+ example.example.send :set_exception, res if res && !res.empty?
14
+ read.close
15
+ end
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-dev-mark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daisuke Taniwaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-21 00:00:00.000000000 Z
11
+ date: 2014-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -84,6 +84,9 @@ files:
84
84
  - gemfiles/rack.1.2.x.gemfile
85
85
  - gemfiles/rack.1.3.x.gemfile
86
86
  - gemfiles/rack.1.4.x.gemfile
87
+ - gemfiles/rails.3.2.x.gemfile
88
+ - gemfiles/rails.4.0.x.gemfile
89
+ - gemfiles/rails.4.1.x.gemfile
87
90
  - lib/generators/rack/dev-mark/install_generator.rb
88
91
  - lib/rack-dev-mark.rb
89
92
  - lib/rack/dev-mark.rb
@@ -101,13 +104,16 @@ files:
101
104
  - rack-dev-mark.gemspec
102
105
  - screenshot-development.png
103
106
  - screenshot-production.png
107
+ - spec/generators/rack/dev-mark/install_generator_spec.rb
104
108
  - spec/rack/dev-mark/middleware_spec.rb
109
+ - spec/rack/dev-mark/railtie_spec.rb
105
110
  - spec/rack/dev-mark/theme/base_spec.rb
106
111
  - spec/rack/dev-mark/theme/github_fork_ribbon_spec.rb
107
112
  - spec/rack/dev-mark/theme/title_spec.rb
108
113
  - spec/rack/dev-mark/utils_spec.rb
109
114
  - spec/rack/dev-mark_spec.rb
110
115
  - spec/spec_helper.rb
116
+ - spec/support/fork_helper.rb
111
117
  - spec/support/theme_helper.rb
112
118
  - vendor/assets/stylesheets/github-fork-ribbon-css/gh-fork-ribbon.css
113
119
  - vendor/assets/stylesheets/github-fork-ribbon-css/gh-fork-ribbon.ie.css
@@ -136,11 +142,14 @@ signing_key:
136
142
  specification_version: 4
137
143
  summary: Differentiate development environemt from production
138
144
  test_files:
145
+ - spec/generators/rack/dev-mark/install_generator_spec.rb
139
146
  - spec/rack/dev-mark/middleware_spec.rb
147
+ - spec/rack/dev-mark/railtie_spec.rb
140
148
  - spec/rack/dev-mark/theme/base_spec.rb
141
149
  - spec/rack/dev-mark/theme/github_fork_ribbon_spec.rb
142
150
  - spec/rack/dev-mark/theme/title_spec.rb
143
151
  - spec/rack/dev-mark/utils_spec.rb
144
152
  - spec/rack/dev-mark_spec.rb
145
153
  - spec/spec_helper.rb
154
+ - spec/support/fork_helper.rb
146
155
  - spec/support/theme_helper.rb