datepicker_508 0.1.1 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 198796a199b1e9732fe31da29518cd794d6822bb
4
- data.tar.gz: a4a79cc242ee2130fba97b3e04defb60ad6f2c28
3
+ metadata.gz: 6429357dcb55d247346ab990d3b6871e312ffb1b
4
+ data.tar.gz: 92c8f015405a3146bf530ff14d25dc574a694e00
5
5
  SHA512:
6
- metadata.gz: 6d4adcf3d5f9ba70e348c6f2a956e7edc5b25547169a90e9678682ee79d8d53d061e5b53581f5fffcbd9e2f9e46370406af7870827bf056d7534604cdf56e1d9
7
- data.tar.gz: 26702064d6eb369bbad0015e48e74dca8a2ef285525cb01e2829458197e1c7ff3078ec514f41d37afffd3e7308d4032cd2b48b80812b797e5851783910dc2e3f
6
+ metadata.gz: b2fe6fbaef2b348862cee36eb5ca2d508f9bb3eb1c8aded5f5c120c3ad4b3be70c787f6630031e5fe3f59d8009d0b8034b2560a93825c1a2aab5130d8739a709
7
+ data.tar.gz: cfb948ea78b2652f8da225ce057b3be64a9d65fda48997dc6d58724297d8eccb872d2a0b57e531d0331e3fc4a05ee86fd8debb0e08fea4293d370b98ba32be65
Binary file
@@ -1,3 +1,3 @@
1
1
  module Datepicker508
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -0,0 +1,5 @@
1
+ Description:
2
+ This generator will scan your application.js and application.css files and add required assets
3
+
4
+ Example:
5
+ rails generate datepicker
@@ -0,0 +1,83 @@
1
+ require 'rails/generators/base'
2
+
3
+ class DatepickerGenerator < Rails::Generators::Base
4
+
5
+ source_root File.expand_path('../templates', __FILE__)
6
+
7
+ def modify_application_js
8
+ js_file
9
+ assets = ['datepicker', 'jquery.mask']
10
+ file = File.open(js_root_path + js_file, 'a')
11
+ file << "\n"
12
+ assets.each do |asset|
13
+ if asset_already_required_in_manifest?(asset, js_file, js_root_path)
14
+ puts "#{check_last_line_is_blank}//= require #{asset} already exists in #{js_file}..."
15
+ else
16
+ file << "//= require #{asset}\n"
17
+ puts "//= require #{asset} added to #{js_file}..."
18
+ end
19
+ end
20
+ file.close
21
+ end
22
+
23
+ def modify_application_css
24
+ if asset_already_required_in_manifest?('datepicker', style_file, style_root_path)
25
+ puts "*= require datepicker already exists in #{style_file}..."
26
+ else
27
+ require_tree_exists? ? content_to_add = include_tree?(true) : content_to_add = include_tree?(false)
28
+ File.open(style_root_path + style_file, "w") { |file| file.puts content_to_add }
29
+ puts "*= require datepicker added to #{style_file}..."
30
+ end
31
+ end
32
+
33
+ def finish
34
+ puts "Done."
35
+ end
36
+
37
+ private
38
+
39
+ def require_tree_exists?
40
+ File.readlines(style_root_path + style_file).grep(/(\*\= require_tree \.)/).size > 0
41
+ end
42
+
43
+ def include_tree?(exists)
44
+ if exists
45
+ text.gsub(/(\*\= require_tree \.)/, "*= require datepicker\n *= require_tree .")
46
+ else
47
+ text.gsub(/(\*\/)/, " *= require datepicker\n*/")
48
+ end
49
+ end
50
+
51
+ def text
52
+ File.read(style_root_path + style_file) unless style_file.nil?
53
+ end
54
+
55
+ def style_file
56
+ css_file = 'application.css'
57
+ scss_file = 'application.scss'
58
+ return css if File.file?(style_root_path + css_file)
59
+ File.file?(style_root_path + scss_file) ? scss_file : nil
60
+ end
61
+
62
+ def js_file
63
+ js_file = 'application.js'
64
+ File.file?(js_root_path + js_file) ? js_file : nil
65
+ end
66
+
67
+ def style_root_path
68
+ 'app/assets/stylesheets/'
69
+ end
70
+
71
+ def js_root_path
72
+ 'app/assets/javascripts/'
73
+ end
74
+
75
+ def asset_already_required_in_manifest?(asset, file, path)
76
+ file_to_check = File.open(path + file, "r")
77
+ if file.include? "js"
78
+ file_to_check.grep(/(\/\/= require #{asset})/).size > 0
79
+ elsif file.include? "css"
80
+ file_to_check.grep(/(\*\= require #{asset})/).size > 0
81
+ end
82
+ end
83
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datepicker_508
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Freemer
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-19 00:00:00.000000000 Z
11
+ date: 2017-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -54,9 +54,12 @@ files:
54
54
  - bin/console
55
55
  - bin/setup
56
56
  - datepicker_508-0.1.0.gem
57
+ - datepicker_508-0.1.1.gem
57
58
  - datepicker_508.gemspec
58
59
  - lib/datepicker_508.rb
59
60
  - lib/datepicker_508/version.rb
61
+ - lib/generators/datepicker/USAGE
62
+ - lib/generators/datepicker/datepicker_generator.rb
60
63
  - vendor/assets/javascripts/datepicker.js
61
64
  - vendor/assets/javascripts/jquery.mask.js
62
65
  - vendor/assets/stylesheets/datepicker.css