weather-icons-rails 0.0.1 → 0.0.2

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 (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