backtalk 1.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.
- data/bin/backtalk +4 -0
- data/lib/backtalk.rb +21 -0
- data/lib/backtalk/backtalkfile.rb +64 -0
- data/lib/backtalk/sass_importer.rb +1 -0
- metadata +65 -0
data/bin/backtalk
ADDED
data/lib/backtalk.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubygems/builder'
|
2
|
+
require 'tmpdir'
|
3
|
+
|
4
|
+
require 'backtalk/backtalkfile'
|
5
|
+
|
6
|
+
module Backtalk
|
7
|
+
|
8
|
+
def self.run!
|
9
|
+
backtalkfile = Backtalkfile.new "Backtalkfile"
|
10
|
+
Dir.mktmpdir do | dir |
|
11
|
+
backtalkfile.prep_build dir
|
12
|
+
gem = Gem::Builder.new backtalkfile.gem_spec
|
13
|
+
output_file = File.basename(backtalkfile.gem_spec.cache_file)
|
14
|
+
Dir.chdir dir do
|
15
|
+
gem.build
|
16
|
+
end
|
17
|
+
FileUtils.cp(File.join(dir, output_file), output_file)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'rubygems/package'
|
3
|
+
|
4
|
+
module Backtalk
|
5
|
+
|
6
|
+
class Backtalkfile
|
7
|
+
|
8
|
+
def initialize(filename)
|
9
|
+
@definition = Definition.new
|
10
|
+
@definition.instance_eval(File.read(filename), filename)
|
11
|
+
end
|
12
|
+
|
13
|
+
def gem_spec
|
14
|
+
gem_spec = @definition.as_gem_spec
|
15
|
+
gem_spec.files = collect_sass_files.map! { |filename| "styles/#{filename}" } + %W(lib/#{@definition.gem_name}.rb)
|
16
|
+
gem_spec
|
17
|
+
end
|
18
|
+
|
19
|
+
def prep_build(dest)
|
20
|
+
collect_sass_files.each do | filename |
|
21
|
+
output = File.join(dest, 'styles', filename)
|
22
|
+
FileUtils.mkdir_p File.dirname(output)
|
23
|
+
FileUtils.cp filename, output
|
24
|
+
end
|
25
|
+
add_loader dest
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def collect_sass_files
|
31
|
+
Dir['**/*.scss']
|
32
|
+
end
|
33
|
+
|
34
|
+
def add_loader(dest)
|
35
|
+
FileUtils.mkdir_p File.join(dest, 'lib')
|
36
|
+
FileUtils.cp File.expand_path('sass_importer.rb', File.dirname(__FILE__)), File.join(dest, 'lib', "#{@definition.gem_name}.rb")
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
class Backtalkfile::Definition
|
42
|
+
|
43
|
+
attr_accessor :gem_name
|
44
|
+
attr_writer :version
|
45
|
+
attr_writer :authors
|
46
|
+
|
47
|
+
def as_gem_spec
|
48
|
+
Gem::Specification.new do |s|
|
49
|
+
s.name = @gem_name
|
50
|
+
s.version = @version
|
51
|
+
s.authors = @authors
|
52
|
+
s.summary = "Sass package #{@gem_name}"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def definition
|
59
|
+
yield self
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Sass.load_paths << File.join(File.dirname(__FILE__), '..', 'styles')
|
metadata
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: backtalk
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Chris Northwood
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-10-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: sass
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: Making Sassy gems
|
31
|
+
email: chris@pling.org.uk
|
32
|
+
executables:
|
33
|
+
- backtalk
|
34
|
+
extensions: []
|
35
|
+
extra_rdoc_files: []
|
36
|
+
files:
|
37
|
+
- lib/backtalk.rb
|
38
|
+
- lib/backtalk/backtalkfile.rb
|
39
|
+
- lib/backtalk/sass_importer.rb
|
40
|
+
- bin/backtalk
|
41
|
+
homepage: https://github.com/cnorthwood/backtalk
|
42
|
+
licenses: []
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
49
|
+
requirements:
|
50
|
+
- - ! '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
56
|
+
- - ! '>='
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
59
|
+
requirements: []
|
60
|
+
rubyforge_project:
|
61
|
+
rubygems_version: 1.8.24
|
62
|
+
signing_key:
|
63
|
+
specification_version: 3
|
64
|
+
summary: Backtalk
|
65
|
+
test_files: []
|