weather-icons-rails 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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/weather-icons/_bootstrap.css.scss +87 -0
  3. data/app/assets/stylesheets/weather-icons/_bordered-pulled.css.scss +16 -0
  4. data/app/assets/stylesheets/weather-icons/_core.css.scss +13 -0
  5. data/app/assets/stylesheets/weather-icons/_extras.css.scss +44 -0
  6. data/app/assets/stylesheets/weather-icons/_fixed-width.css.scss +6 -0
  7. data/app/assets/stylesheets/weather-icons/_icons.css.scss +95 -0
  8. data/app/assets/stylesheets/weather-icons/_larger.css.scss +43 -0
  9. data/app/assets/stylesheets/weather-icons/_list.css.scss +19 -0
  10. data/app/assets/stylesheets/weather-icons/_mixins.css.scss +20 -0
  11. data/app/assets/stylesheets/weather-icons/_path.css.scss +13 -0
  12. data/app/assets/stylesheets/weather-icons/_rotated-flipped.css.scss +9 -0
  13. data/app/assets/stylesheets/weather-icons/_spinning.css.scss +27 -0
  14. data/app/assets/stylesheets/weather-icons/_stacked.css.scss +20 -0
  15. data/app/assets/stylesheets/weather-icons/_variables.css.scss +102 -0
  16. data/app/assets/stylesheets/weather-icons.css.scss +45 -0
  17. data/lib/weather-icons/rails/rails/engine.rb +13 -0
  18. data/lib/weather-icons/rails/rails/helpers.rb +94 -0
  19. data/lib/weather-icons/rails/rails/railtie.rb +13 -0
  20. data/lib/weather-icons/rails/version.rb +5 -0
  21. data/lib/weather-icons/rails.rb +58 -0
  22. data/lib/weather-icons-rails.rb +3 -4
  23. data/test/dummy/app/assets/stylesheets/sass-import.css.sass +1 -1
  24. data/test/dummy/app/assets/stylesheets/scss-import.css.scss +1 -1
  25. data/test/dummy/app/assets/stylesheets/sprockets-require.css +2 -2
  26. data/test/dummy/app/controllers/pages_controller.rb +2 -2
  27. data/test/dummy/app/views/pages/icons.html.erb +2 -2
  28. data/test/dummy/config/application.rb +18 -18
  29. data/test/dummy/config/boot.rb +10 -10
  30. data/test/dummy/config/environment.rb +5 -5
  31. data/test/dummy/config/initializers/secret_token.rb +8 -8
  32. data/test/dummy/config/routes.rb +3 -3
  33. data/test/dummy/config.ru +4 -4
  34. data/test/font_awesome_rails_test.rb +65 -65
  35. data/test/icon_helper_test.rb +113 -113
  36. data/test/test_helper.rb +7 -7
  37. metadata +80 -9
  38. data/app/assets/stylesheets/weather-icons.css +0 -327
  39. data/app/helpers/font_awesome/rails/icon_helper.rb +0 -92
  40. data/app/helpers/weather_icons/rails/icon_helper.rb +0 -92
  41. data/lib/weather-icons-rails/engine.rb +0 -4
  42. data/lib/weather-icons-rails/version.rb +0 -3
@@ -0,0 +1,94 @@
1
+ module WeatherIcons
2
+ module Rails
3
+ module Rails
4
+ module IconHelpers
5
+ # Creates an icon tag given an icon name and possible icon
6
+ # modifiers.
7
+ #
8
+ # Examples
9
+ #
10
+ # wi_icon "camera-retro"
11
+ # # => <i class="wi-camera-retro"></i>
12
+ #
13
+ # wi_icon "camera-retro", text: "Take a photo"
14
+ # # => <i class="wi-camera-retro"></i> Take a photo
15
+ #
16
+ # wi_icon "camera-retro 2x"
17
+ # # => <i class="wi-camera-retro wi-2x"></i>
18
+ # wi_icon ["camera-retro", "4x"]
19
+ # # => <i class="wi-camera-retro wi-4x"></i>
20
+ # wi_icon "spinner spin lg"
21
+ # # => <i class="wi-spinner wi-spin wi-lg">
22
+ #
23
+ # wi_icon "quote-left 4x", class: "pull-left"
24
+ # # => <i class="wi-quote-left wi-4x pull-left"></i>
25
+ #
26
+ # wi_icon "user", data: { id: 123 }
27
+ # # => <i class="wi-user" data-id="123"></i>
28
+ #
29
+ # content_tag(:li, wi_icon("check li", text: "Bulleted list item"))
30
+ # # => <li><i class="wi-check wi-li"></i> Bulleted list item</li>
31
+ def wi_icon(names = "flag", options = {})
32
+ classes = []
33
+ classes.concat Private.icon_names(names)
34
+ classes.concat Array(options.delete(:class))
35
+ text = options.delete(:text)
36
+ icon = content_tag(:i, nil, options.merge(:class => classes))
37
+ Private.icon_join(icon, text)
38
+ end
39
+
40
+ # Creates an stack set of icon tags given a base icon name, a main icon
41
+ # name, and possible icon modifiers.
42
+ #
43
+ # Examples
44
+ #
45
+ # wi_stacked_icon "twitter", base: "square-o"
46
+ # # => <span class="wi-stack">
47
+ # # => <i class="wi-square-o wi-stack-2x"></i>
48
+ # # => <i class="wi-twitter wi-stack-1x"></i>
49
+ # # => </span>
50
+ #
51
+ # wi_stacked_icon "terminal inverse", base: "square", class: "pull-right", text: "Hi!"
52
+ # # => <span class="wi-stack pull-right">
53
+ # # => <i class="wi-square wi-stack-2x"></i>
54
+ # # => <i class="wi-terminal wi-inverse wi-stack-1x"></i>
55
+ # # => </span> Hi!
56
+ #
57
+ # wi_stacked_icon "camera", base: "ban-circle", reverse: true
58
+ # # => <span class="wi-stack">
59
+ # # => <i class="wi-camera wi-stack-1x"></i>
60
+ # # => <i class="wi-ban-circle wi-stack-2x"></i>
61
+ # # => </span>
62
+ def wi_stacked_icon(names = "flag", options = {})
63
+ classes = Private.icon_names("stack").concat(Array(options.delete(:class)))
64
+ base_names = Private.array_value(options.delete(:base) || "square-o").push("stack-2x")
65
+ names = Private.array_value(names).push("stack-1x")
66
+ base = wi_icon(base_names, options.delete(:base_options) || {})
67
+ icon = wi_icon(names, options.delete(:icon_options) || {})
68
+ icons = [base, icon]
69
+ icons.reverse! if options.delete(:reverse)
70
+ text = options.delete(:text)
71
+ stacked_icon = content_tag(:span, safe_join(icons), options.merge(:class => classes))
72
+ Private.icon_join(stacked_icon, text)
73
+ end
74
+
75
+ module Private
76
+ extend ActionView::Helpers::OutputSafetyHelper
77
+
78
+ def self.icon_join(icon, text)
79
+ return icon if text.blank?
80
+ safe_join([icon, ERB::Util.html_escape(text)], " ")
81
+ end
82
+
83
+ def self.icon_names(names = [])
84
+ array_value(names).map { |n| "wi-#{n}" }
85
+ end
86
+
87
+ def self.array_value(value = [])
88
+ value.is_a?(Array) ? value : value.to_s.split(/\s+/)
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,13 @@
1
+ require "weather-icons/rails/rails/helpers"
2
+
3
+ module WeatherIcons
4
+ module Rails
5
+ module Rails
6
+ class Railtie < ::Rails::Railtie
7
+ initializer "weather-icons-rails.view_helpers" do
8
+ ActionView::Base.send :include, IconHelpers
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ module WeatherIcons
2
+ module Rails
3
+ VERSION = "0.0.2"
4
+ end
5
+ end
@@ -0,0 +1,58 @@
1
+ module WeatherIcons
2
+ module Rails
3
+ class << self
4
+ def load!
5
+ if rails?
6
+ register_rails_engine
7
+ end
8
+
9
+ if compass?
10
+ register_compass_extension
11
+ end
12
+ end
13
+
14
+ def gem_path
15
+ @gem_path ||= File.expand_path('..', File.dirname(__FILE__))
16
+ end
17
+
18
+ def stylesheets_path
19
+ File.join(assets_path, 'stylesheets')
20
+ end
21
+
22
+ def fonts_path
23
+ File.join(assets_path, 'fonts')
24
+ end
25
+
26
+ def assets_path
27
+ @assets_path ||= File.join(gem_path, 'vendor', 'assets')
28
+ end
29
+
30
+ def compass?
31
+ defined?(::Compass)
32
+ end
33
+
34
+ def rails?
35
+ defined?(::Rails)
36
+ end
37
+
38
+ private
39
+
40
+ def register_compass_extension
41
+ ::Compass::Frameworks.register(
42
+ 'weather-icons',
43
+ path: gem_path,
44
+ stylesheets_directory: stylesheets_path,
45
+ templates_directory: File.join(gem_path, 'templates')
46
+ )
47
+ end
48
+
49
+ def register_rails_engine
50
+ require 'sass-rails'
51
+ require 'weather-icons/rails/rails/engine'
52
+ require 'weather-icons/rails/rails/railtie'
53
+ end
54
+ end
55
+ end
56
+ end
57
+
58
+ WeatherIcons::Rails.load!
@@ -1,4 +1,3 @@
1
- require "weather-icons-rails/version"
2
- require "weather-icons-rails/engine" if defined?(::Rails)
3
- class WeatherIconsRails
4
- end
1
+ require 'weather-icons/rails'
2
+ # require "weather-icons-rails/version"
3
+ # require "weather-icons-rails/engine" if defined?(::Rails)
@@ -1 +1 @@
1
- @import font-awesome
1
+ // @import font-awesome
@@ -1 +1 @@
1
- @import "font-awesome";
1
+ // @import "font-awesome";
@@ -1,3 +1,3 @@
1
1
  /*
2
- *= require font-awesome
3
- */
2
+ **= require font-awesome
3
+ */
@@ -1,2 +1,2 @@
1
- class PagesController < ActionController::Base
2
- end
1
+ # class PagesController < ActionController::Base
2
+ # end
@@ -1,3 +1,3 @@
1
- <%= fa_icon "flag" %>
1
+ <!-- <%= fa_icon "flag" %>
2
2
 
3
- <%= fa_stacked_icon "twitter", :base => "check-empty" %>
3
+ <%= fa_stacked_icon "twitter", :base => "check-empty" %> -->
@@ -1,18 +1,18 @@
1
- require File.expand_path('../boot', __FILE__)
2
-
3
- # require "rails/all"
4
- require "sprockets/railtie"
5
-
6
- Bundler.require(:default, :development)
7
-
8
- module Dummy
9
- class Application < Rails::Application
10
- config.encoding = "utf-8"
11
- config.assets.enabled = true
12
- config.assets.version = '1.0'
13
-
14
- # replacement for environments/*.rb
15
- config.active_support.deprecation = :stderr
16
- config.eager_load = false
17
- end
18
- end
1
+ # require File.expand_path('../boot', __FILE__)
2
+ #
3
+ # # require "rails/all"
4
+ # require "sprockets/railtie"
5
+ #
6
+ # Bundler.require(:default, :development)
7
+ #
8
+ # module Dummy
9
+ # class Application < Rails::Application
10
+ # config.encoding = "utf-8"
11
+ # config.assets.enabled = true
12
+ # config.assets.version = '1.0'
13
+ #
14
+ # # replacement for environments/*.rb
15
+ # config.active_support.deprecation = :stderr
16
+ # config.eager_load = false
17
+ # end
18
+ # end
@@ -1,10 +1,10 @@
1
- require 'rubygems'
2
- gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
-
4
- if File.exist?(gemfile)
5
- ENV['BUNDLE_GEMFILE'] = gemfile
6
- require 'bundler'
7
- Bundler.setup
8
- end
9
-
10
- $:.unshift File.expand_path('../../../../lib', __FILE__)
1
+ # require 'rubygems'
2
+ # gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
+ #
4
+ # if File.exist?(gemfile)
5
+ # ENV['BUNDLE_GEMFILE'] = gemfile
6
+ # require 'bundler'
7
+ # Bundler.setup
8
+ # end
9
+ #
10
+ # $:.unshift File.expand_path('../../../../lib', __FILE__)
@@ -1,5 +1,5 @@
1
- # Load the rails application
2
- require File.expand_path('../application', __FILE__)
3
-
4
- # Initialize the rails application
5
- Dummy::Application.initialize!
1
+ # # Load the rails application
2
+ # require File.expand_path('../application', __FILE__)
3
+ #
4
+ # # Initialize the rails application
5
+ # Dummy::Application.initialize!
@@ -1,8 +1,8 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- Dummy::Application.config.secret_token = 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
8
- Dummy::Application.config.secret_key_base = 'deadbeef' if Dummy::Application.config.respond_to?(:secret_key_base)
1
+ # # Be sure to restart your server when you modify this file.
2
+ #
3
+ # # Your secret key for verifying the integrity of signed cookies.
4
+ # # If you change this key, all old signed cookies will become invalid!
5
+ # # Make sure the secret is at least 30 characters and all random,
6
+ # # no regular words or you'll be exposed to dictionary attacks.
7
+ # Dummy::Application.config.secret_token = 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
8
+ # Dummy::Application.config.secret_key_base = 'deadbeef' if Dummy::Application.config.respond_to?(:secret_key_base)
@@ -1,3 +1,3 @@
1
- Dummy::Application.routes.draw do
2
- get "/icons", :to => "pages#icons"
3
- end
1
+ # Dummy::Application.routes.draw do
2
+ # get "/icons", :to => "pages#icons"
3
+ # end
data/test/dummy/config.ru CHANGED
@@ -1,4 +1,4 @@
1
- # This file is used by Rack-based servers to start the application.
2
-
3
- require ::File.expand_path('../config/environment', __FILE__)
4
- run Dummy::Application
1
+ # # This file is used by Rack-based servers to start the application.
2
+ #
3
+ # require ::File.expand_path('../config/environment', __FILE__)
4
+ # run Dummy::Application
@@ -1,65 +1,65 @@
1
- require 'test_helper'
2
-
3
- class FontAwesomeRailsTest < ActionDispatch::IntegrationTest
4
- teardown { clean_sprockets_cache }
5
-
6
- test "engine is loaded" do
7
- assert_equal ::Rails::Engine, FontAwesome::Rails::Engine.superclass
8
- end
9
-
10
- test "fonts are served" do
11
- get "/assets/fontawesome-webfont.eot"
12
- assert_response :success
13
- get "/assets/fontawesome-webfont.ttf"
14
- assert_response :success
15
- get "/assets/fontawesome-webfont.woff"
16
- assert_response :success
17
- end
18
-
19
- test "stylesheets are served" do
20
- get "/assets/font-awesome.css"
21
- assert_font_awesome(response)
22
- end
23
-
24
- test "stylesheets contain asset pipeline references to fonts" do
25
- get "/assets/font-awesome.css"
26
- assert_match "/assets/fontawesome-webfont.eot", response.body
27
- assert_match "/assets/fontawesome-webfont.eot?#iefix", response.body
28
- assert_match "/assets/fontawesome-webfont.woff", response.body
29
- assert_match "/assets/fontawesome-webfont.ttf", response.body
30
- assert_match "/assets/fontawesome-webfont.svg#fontawesomeregular", response.body
31
- end
32
-
33
- test "stylesheet is available in a css sprockets require" do
34
- get "/assets/sprockets-require.css"
35
- assert_font_awesome(response)
36
- end
37
-
38
- test "stylesheet is available in a sass import" do
39
- get "/assets/sass-import.css"
40
- assert_font_awesome(response)
41
- end
42
-
43
- test "stylesheet is available in a scss import" do
44
- get "/assets/scss-import.css"
45
- assert_font_awesome(response)
46
- end
47
-
48
- test "helpers should be available in the view" do
49
- get "/icons"
50
- assert_response :success
51
- assert_select "i.fa.fa-flag"
52
- assert_select "span.fa-stack"
53
- end
54
-
55
- private
56
-
57
- def clean_sprockets_cache
58
- FileUtils.rm_rf File.expand_path("../dummy/tmp", __FILE__)
59
- end
60
-
61
- def assert_font_awesome(response)
62
- assert_response :success
63
- assert_match(/font-family:\s*'FontAwesome';/, response.body)
64
- end
65
- end
1
+ # require 'test_helper'
2
+ #
3
+ # class FontAwesomeRailsTest < ActionDispatch::IntegrationTest
4
+ # teardown { clean_sprockets_cache }
5
+ #
6
+ # test "engine is loaded" do
7
+ # assert_equal ::Rails::Engine, FontAwesome::Rails::Engine.superclass
8
+ # end
9
+ #
10
+ # test "fonts are served" do
11
+ # get "/assets/fontawesome-webfont.eot"
12
+ # assert_response :success
13
+ # get "/assets/fontawesome-webfont.ttf"
14
+ # assert_response :success
15
+ # get "/assets/fontawesome-webfont.woff"
16
+ # assert_response :success
17
+ # end
18
+ #
19
+ # test "stylesheets are served" do
20
+ # get "/assets/font-awesome.css"
21
+ # assert_font_awesome(response)
22
+ # end
23
+ #
24
+ # test "stylesheets contain asset pipeline references to fonts" do
25
+ # get "/assets/font-awesome.css"
26
+ # assert_match "/assets/fontawesome-webfont.eot", response.body
27
+ # assert_match "/assets/fontawesome-webfont.eot?#iefix", response.body
28
+ # assert_match "/assets/fontawesome-webfont.woff", response.body
29
+ # assert_match "/assets/fontawesome-webfont.ttf", response.body
30
+ # assert_match "/assets/fontawesome-webfont.svg#fontawesomeregular", response.body
31
+ # end
32
+ #
33
+ # test "stylesheet is available in a css sprockets require" do
34
+ # get "/assets/sprockets-require.css"
35
+ # assert_font_awesome(response)
36
+ # end
37
+ #
38
+ # test "stylesheet is available in a sass import" do
39
+ # get "/assets/sass-import.css"
40
+ # assert_font_awesome(response)
41
+ # end
42
+ #
43
+ # test "stylesheet is available in a scss import" do
44
+ # get "/assets/scss-import.css"
45
+ # assert_font_awesome(response)
46
+ # end
47
+ #
48
+ # test "helpers should be available in the view" do
49
+ # get "/icons"
50
+ # assert_response :success
51
+ # assert_select "i.fa.fa-flag"
52
+ # assert_select "span.fa-stack"
53
+ # end
54
+ #
55
+ # private
56
+ #
57
+ # def clean_sprockets_cache
58
+ # FileUtils.rm_rf File.expand_path("../dummy/tmp", __FILE__)
59
+ # end
60
+ #
61
+ # def assert_font_awesome(response)
62
+ # assert_response :success
63
+ # assert_match(/font-family:\s*'FontAwesome';/, response.body)
64
+ # end
65
+ # end