global_assets 0.0.0
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 +15 -0
- data/Rakefile +7 -0
- data/lib/global_assets.rb +67 -0
- metadata +61 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YTk1ZTJlOTc3MGQ0NDk1NDUxMGNiMWM3MWU0ZTJhYjk3NDU0ZWFlMg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ZmZjYjc2YzczNmZlNDQ4NzVhZThkYzhkMDkxMzVjMDlhNWM5ZmU2Ng==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ODQyY2VhMDVhNWMzMGE1NTBhM2YwNzg4OTZjYWQxYzZjYjk3ZWMyZTgxOTY0
|
10
|
+
ZGYzYjM0OTJhNmI5MWU2ZWY4Y2NhZDQxMzk4NTVkM2VlYzQ0YjllMmQ3MTI0
|
11
|
+
ZjBjNjYzNzQxYzZhZmZjZjBkY2I0OTIxMGRhMjllZTgzOTkwNTA=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZDA4NWZmNjkwZmYzMDIxMzcxYTViZWFlMGNmOWViYzJmNGM4MTdmMmE1MWU0
|
14
|
+
NzBhZmI2NjBiMWNjMjBhY2FlMTE2OGM1NDUxMGU1YzAwZDU5ZmYyMmU1NzYx
|
15
|
+
NjIzODRlOWExOTdlNWQ2MmU5YWM2NjQ4NzYxYjZjYzE1NjgwNjQ=
|
data/Rakefile
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'erb'
|
4
|
+
require 'ostruct'
|
5
|
+
|
6
|
+
class GlobalAssets
|
7
|
+
class << self
|
8
|
+
def inherited(base)
|
9
|
+
configs = YAML.load_file("config/#{snake_case(base)}.yml")
|
10
|
+
if configs[snake_case(base)] && configs[snake_case(base)]["target_dirs"]
|
11
|
+
base.set(:target_js, configs[snake_case(base)]["target_dirs"]["js"])
|
12
|
+
base.set(:target_css, configs[snake_case(base)]["target_dirs"]["css"])
|
13
|
+
base.set(:target_img, configs[snake_case(base)]["target_dirs"]["img"])
|
14
|
+
end
|
15
|
+
super
|
16
|
+
end
|
17
|
+
|
18
|
+
def snippet(name, locals = {})
|
19
|
+
file_at = File.join(settings[:source_dir], "snippets", name.to_s + ".erb")
|
20
|
+
return erb(File.read(file_at), locals) if(File.exists?(file_at))
|
21
|
+
raise Exception, "Could not find Snippet: [#{name.to_s}]"
|
22
|
+
end
|
23
|
+
|
24
|
+
def erb(template, locals)
|
25
|
+
ERB.new(template).result(OpenStruct.new(locals).instance_eval { binding })
|
26
|
+
end
|
27
|
+
|
28
|
+
def move_global_files
|
29
|
+
# delete all 3 target directories
|
30
|
+
puts "Wiping old global directories..."
|
31
|
+
[settings[:target_js], settings[:target_js], settings[:target_js]].each do |dir|
|
32
|
+
FileUtils.rm_rf(dir)
|
33
|
+
FileUtils.mkdir_p(dir)
|
34
|
+
end
|
35
|
+
# copy over all 3 source directories to the target dirs
|
36
|
+
puts "Moving global JS..."
|
37
|
+
FileUtils.cp_r(File.join(settings[:source_dir], "js/."), settings[:target_js])
|
38
|
+
puts "Moving global CSS..."
|
39
|
+
FileUtils.cp_r(File.join(settings[:source_dir], "css/."), settings[:target_css])
|
40
|
+
puts "Moving global Images..."
|
41
|
+
FileUtils.cp_r(File.join(settings[:source_dir], "img/."), settings[:target_img])
|
42
|
+
end
|
43
|
+
|
44
|
+
def set(key, val)
|
45
|
+
settings[key] = val
|
46
|
+
end
|
47
|
+
|
48
|
+
def settings
|
49
|
+
@settings ||= {}
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
def snake_case(camel_cased_word)
|
54
|
+
camel_cased_word.to_s.gsub(/::/, '/').
|
55
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
56
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
57
|
+
tr("-", "_").
|
58
|
+
downcase
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
__END__
|
64
|
+
|
65
|
+
require './lib/global_assets'
|
66
|
+
class EMEGlobalAssets; include GlobalAssets; end
|
67
|
+
EMEGlobalAssets.snippet(:test)
|
metadata
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: global_assets
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Reister
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: minitest
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
description: Share all your assets between all your projects via personal gem/git
|
28
|
+
repo.
|
29
|
+
email:
|
30
|
+
- chris@chrisreister.com
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- Rakefile
|
36
|
+
- lib/global_assets.rb
|
37
|
+
homepage: https://github.com/chrisftw/global_assets
|
38
|
+
licenses:
|
39
|
+
- MIT
|
40
|
+
metadata: {}
|
41
|
+
post_install_message:
|
42
|
+
rdoc_options: []
|
43
|
+
require_paths:
|
44
|
+
- lib
|
45
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
requirements: []
|
56
|
+
rubyforge_project:
|
57
|
+
rubygems_version: 2.2.2
|
58
|
+
signing_key:
|
59
|
+
specification_version: 4
|
60
|
+
summary: Global asset manager for Ruby projects that share assets.
|
61
|
+
test_files: []
|