webify_ruby 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +160 -0
- data/Rakefile +30 -0
- data/lib/tasks/version.rake +8 -0
- data/lib/webify_ruby/convert.rb +99 -0
- data/lib/webify_ruby/css.rb +60 -0
- data/lib/webify_ruby/errors.rb +3 -0
- data/lib/webify_ruby/railtie.rb +5 -0
- data/lib/webify_ruby/tasks.rb +7 -0
- data/lib/webify_ruby/version.rb +3 -0
- data/lib/webify_ruby.rb +34 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +0 -0
- metadata +74 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7e1ac9a0368f62f2da77e358e8d3408f55edd0f1
|
4
|
+
data.tar.gz: 93e629bea658ff3106955d14a6d964f24de191ee
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0d6205202ec1e13660097aa0702d0c62b73ca5fa7be06937802fab7d8180202965ede42d81328ff294f4479d51dd9a06aed0406939f3a939c5b7fac687bbc4a2
|
7
|
+
data.tar.gz: 8e985e2b6699c961fbc011878d1f07a492b86a5603e493cc3ede1d62b565775b4f7abf3b0436b48ed2c28e16de4b515bb90b9a506b649c20032d4af193166ed3
|
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright 2014 David Natsvlishvili
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,160 @@
|
|
1
|
+
= WebifyRuby - Haskell Webify bindings gem for Ruby and Rails Applications
|
2
|
+
|
3
|
+
Version 0.0.1 :: Lazi
|
4
|
+
|
5
|
+
== Usage
|
6
|
+
|
7
|
+
==== Option #1: Install executables depending on your system
|
8
|
+
|
9
|
+
You can find compiled executables for Linux 32, Linux 64, Mac OS X 64, Win 32 here
|
10
|
+
|
11
|
+
https://github.com/dachi-gh/webify/tree/executables
|
12
|
+
|
13
|
+
==== Option #2: Compile Haskell application for your desired OS from here
|
14
|
+
|
15
|
+
https://github.com/dachi-gh/webify
|
16
|
+
|
17
|
+
==== Add to your Gemfile
|
18
|
+
gem 'webify_ruby', :git => 'git://github.com/dachi-gh/webify_ruby.git'
|
19
|
+
|
20
|
+
You can require a library to use in your Ruby application
|
21
|
+
require 'webify_ruby'
|
22
|
+
|
23
|
+
You don't have to do so if you're using rails as bundler can do it for you
|
24
|
+
Bundler.require(:default, Rails.env)
|
25
|
+
|
26
|
+
==== Make a Rake task for a quick example
|
27
|
+
|
28
|
+
namespace :webify_ruby do
|
29
|
+
desc 'Convert a file and distribute'
|
30
|
+
task :convert, [:source, :dir_fonts, :dir_css] => :environment do |t, args|
|
31
|
+
pp WebifyRuby::Convert.new(
|
32
|
+
args.source,
|
33
|
+
dir: args.dir_fonts,
|
34
|
+
css: args.dir_css
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
and run it as
|
40
|
+
$ rake webify_ruby:convert['my_fonts/sample.ttf','demo/convert','demo/css']
|
41
|
+
|
42
|
+
If successful you should get find converted files under created directory demo/convert and stylesheet css file with relative links under demo/css directory
|
43
|
+
|
44
|
+
== Explore
|
45
|
+
|
46
|
+
==== Convert and place in the same directory
|
47
|
+
Convert constructor requires one parameter at least, which is a ttf or otf file
|
48
|
+
WebifyRuby::Convert.new('fonts/font.ttf')
|
49
|
+
|
50
|
+
This should normally generate svg, woff and eot and place all four fonts in the same directory without css
|
51
|
+
|
52
|
+
==== Convert and place in desired directory
|
53
|
+
|
54
|
+
Constructor can take a directory parameter
|
55
|
+
WebifyRuby::Convert.new('fonts/font.ttf', dir: 'webfonts')
|
56
|
+
|
57
|
+
This example creates webfonts directory if necessary and puts four webfont files there
|
58
|
+
|
59
|
+
==== Generate stylesheets along the fonts
|
60
|
+
|
61
|
+
It is possible to pass a parameter to the class constructor, so it knows you want stylesheets too
|
62
|
+
WebifyRuby::Convert.new('fonts/my_font.ttf, css: 'stylesheets/fonts')
|
63
|
+
|
64
|
+
Would create a stylesheets directory if necessary and place my_font.css with relative urls
|
65
|
+
|
66
|
+
==== Generate stylesheet with custom urls
|
67
|
+
|
68
|
+
There might be cases when you're working with subdomains for example and relative urls are not for you
|
69
|
+
WebifyRuby::Convert.new('fonts/my_font.ttf, css: 'stylesheets/custom', link_to: 'http://fonts.example.com')
|
70
|
+
|
71
|
+
Writes a my_font.css file under stylesheets/custom directory with custom url prepended to filename, like this:
|
72
|
+
|
73
|
+
@font-face {
|
74
|
+
font-family: 'my_font';
|
75
|
+
src: url('http://fonts.example.com/my_font.eot');
|
76
|
+
src: url('http://fonts.example.com/my_font.eot?#iefix') format('embedded-opentype'),
|
77
|
+
url('http://fonts.example.com/my_font.svg#my_font') format('svg'),
|
78
|
+
url('http://fonts.example.com/my_font.woff') format('woff');
|
79
|
+
font-weight: normal;
|
80
|
+
font-style: normal;
|
81
|
+
}
|
82
|
+
|
83
|
+
==== Get stylesheet without creating files
|
84
|
+
|
85
|
+
You might need a css styles to write to a file by yourself, in this case you need to look for returned values
|
86
|
+
convert = WebifyRuby::Convert.new('fonts/my_font.ttf, css: true, link_to: 'http://example.com/fonts')
|
87
|
+
puts convert.styles
|
88
|
+
|
89
|
+
would result in
|
90
|
+
|
91
|
+
> puts convert.styles
|
92
|
+
@font-face {
|
93
|
+
font-family: 'my_font';
|
94
|
+
src: url('http://fonts.example.com/my_font.eot');
|
95
|
+
src: url('http://fonts.example.com/my_font.eot?#iefix') format('embedded-opentype'),
|
96
|
+
url('http://fonts.example.com/my_font.svg#my_font') format('svg'),
|
97
|
+
url('http://fonts.example.com/my_font.woff') format('woff');
|
98
|
+
font-weight: normal;
|
99
|
+
font-style: normal;
|
100
|
+
}
|
101
|
+
=> nil
|
102
|
+
|
103
|
+
So you can make use of generated styles according to your needs
|
104
|
+
|
105
|
+
==== Values that you get after converting
|
106
|
+
|
107
|
+
You might need to know about directory names or other information that library operates on. After initializing a Convert class, you get an object that should have everything you need. An example is here
|
108
|
+
|
109
|
+
2.1.0-preview1 :028 > convert = WebifyRuby::Convert.new('public/fonts/my_font.ttf',
|
110
|
+
dir:'my_dir_fonts',
|
111
|
+
css: 'my_dir_css',
|
112
|
+
link_to: 'http://example.com/my_dir_fonts')
|
113
|
+
=> #<WebifyRuby::Convert:0x007fbc1af6fd00
|
114
|
+
@desired_dir="my_dir_fonts",
|
115
|
+
@css="my_dir_css",
|
116
|
+
@link_to="http://example.com/my_dir_fonts",
|
117
|
+
@original_file="public/fonts/my_font.ttf",
|
118
|
+
@original_dir="public/fonts",
|
119
|
+
@result_dir="my_dir_fonts/d20140211-56782-4cglvv",
|
120
|
+
@file="my_dir_fonts/d20140211-56782-4cglvv/my_font.ttf",
|
121
|
+
@command="webify my_dir_fonts/d20140211-56782-4cglvv/my_font.ttf",
|
122
|
+
@output="Generating my_dir_fonts/d20140211-56782-4cglvv/my_font.eot
|
123
|
+
Generating my_dir_fonts/d20140211-56782-4cglvv/my_font.woff
|
124
|
+
Generating my_dir_fonts/d20140211-56782-4cglvv/my_font.svg
|
125
|
+
Available cmaps
|
126
|
+
-----------------------------------------------------------------------------
|
127
|
+
PlatformId | EncodingId | Description
|
128
|
+
0 | 3 | Unicode 2.0 and onwards semantics, Unicode BMP only
|
129
|
+
1 | 0 | Macintosh Roman 8-bit simple
|
130
|
+
| 1 | Microsoft Unicode BMP (UCS-2)
|
131
|
+
-----------------------------------------------------------------------------
|
132
|
+
Selecting platformId 3 encodingId 1 -- Microsoft Unicode BMP (UCS-2)",
|
133
|
+
@generated=["my_dir_fonts/d20140211-56782-4cglvv/my_font.eot",
|
134
|
+
"my_dir_fonts/d20140211-56782-4cglvv/my_font.woff",
|
135
|
+
"my_dir_fonts/d20140211-56782-4cglvv/my_font.svg"],
|
136
|
+
@styles="@font-face {
|
137
|
+
font-family: 'my_font';
|
138
|
+
src: url('http://example.com/my_dir_fonts/my_font.eot');
|
139
|
+
src: url('http://example.com/my_dir_fonts/my_font.eot?#iefix') format('embedded-opentype'),
|
140
|
+
url('http://example.com/my_dir_fonts/my_font.svg#my_font') format('svg'),
|
141
|
+
url('http://example.com/my_dir_fonts/my_font.woff') format('woff');
|
142
|
+
font-weight: normal;\nfont-style: normal;
|
143
|
+
}">
|
144
|
+
|
145
|
+
That way you can for example know a generated directory path by running
|
146
|
+
convert.result_dir
|
147
|
+
|
148
|
+
|
149
|
+
== Gem Author
|
150
|
+
|
151
|
+
Dachi Natsvlishvili mailto:dnatsvlishvili@gmail.com
|
152
|
+
|
153
|
+
== Todo
|
154
|
+
|
155
|
+
1. Add support for kerning option
|
156
|
+
2. Add support for desired output files
|
157
|
+
|
158
|
+
== Licence
|
159
|
+
|
160
|
+
https://github.com/dachi-gh/webify_ruby/blob/master/MIT-LICENSE
|
data/Rakefile
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
begin
|
2
|
+
require 'bundler/setup'
|
3
|
+
rescue LoadError
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
+
end
|
6
|
+
|
7
|
+
require 'rdoc/task'
|
8
|
+
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
11
|
+
rdoc.title = 'WebifyRuby'
|
12
|
+
rdoc.options << '--line-numbers'
|
13
|
+
rdoc.rdoc_files.include('README.rdoc')
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
|
+
end
|
16
|
+
|
17
|
+
Bundler::GemHelper.install_tasks
|
18
|
+
|
19
|
+
require 'webify_ruby/tasks'
|
20
|
+
|
21
|
+
require 'rake/testtask'
|
22
|
+
|
23
|
+
Rake::TestTask.new(:test) do |t|
|
24
|
+
t.libs << 'lib'
|
25
|
+
t.libs << 'test'
|
26
|
+
t.pattern = 'test/**/*_test.rb'
|
27
|
+
t.verbose = false
|
28
|
+
end
|
29
|
+
|
30
|
+
task default: :test
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'open3'
|
3
|
+
require 'tmpdir'
|
4
|
+
require 'shellwords'
|
5
|
+
|
6
|
+
module WebifyRuby
|
7
|
+
class Convert
|
8
|
+
attr_reader :file, :original_file, :command, :output, :generated, :original_dir, :result_dir, :desired_dir, :css, :link_to, :styles
|
9
|
+
|
10
|
+
def initialize(file, dir: nil, css: nil, link_to: nil)
|
11
|
+
[file, dir]
|
12
|
+
|
13
|
+
@desired_dir = dir
|
14
|
+
@css = css
|
15
|
+
@link_to = link_to
|
16
|
+
|
17
|
+
raise Errno::ENOENT, "The font file '#{file}' does not exist" unless File.exists?(file)
|
18
|
+
@original_file = file
|
19
|
+
|
20
|
+
raise Error, "The font file '#{file}' is not valid" unless WebifyRuby::EXT.include? File.extname(@original_file)
|
21
|
+
|
22
|
+
@original_dir = File.dirname(@original_file)
|
23
|
+
raise Errno::ENOENT, "Can't find directory '#{@original_dir}'" unless File.directory? @original_dir
|
24
|
+
|
25
|
+
@result_dir = Dir.mktmpdir(nil, destination_dir)
|
26
|
+
|
27
|
+
FileUtils.cp(@original_file, @result_dir)
|
28
|
+
|
29
|
+
@file = File.join(@result_dir, File.basename(@original_file))
|
30
|
+
|
31
|
+
process
|
32
|
+
|
33
|
+
if affected_files.to_a.length == 0
|
34
|
+
WebifyRuby.logger.info "Host did not create any files\n@command\n#{@command}\n@output\n#{@output}\n"
|
35
|
+
end
|
36
|
+
|
37
|
+
generate_css unless @css.nil?
|
38
|
+
end
|
39
|
+
|
40
|
+
def affected_files
|
41
|
+
Dir[@result_dir + '/*.{ttf,eot,woff,svg}'].reject { |f| f[@file] }
|
42
|
+
end
|
43
|
+
|
44
|
+
def is_valid?
|
45
|
+
false if not @output.include? 'Generating' or @output.include? 'Failed'
|
46
|
+
true
|
47
|
+
end
|
48
|
+
|
49
|
+
def generate_css
|
50
|
+
needs = affected_files.map { |m| File.extname(m)[1..-1].to_sym }
|
51
|
+
|
52
|
+
if should_write_css?
|
53
|
+
WebifyRuby::Css.relative_from = @link_to ? nil : @css
|
54
|
+
WebifyRuby::Css.link_to = @link_to
|
55
|
+
end
|
56
|
+
|
57
|
+
css = WebifyRuby::Css.new(File.basename(@file, ".*"), @file, *needs)
|
58
|
+
@styles = css.result
|
59
|
+
|
60
|
+
css.write @css if should_write_css?
|
61
|
+
end
|
62
|
+
|
63
|
+
protected
|
64
|
+
|
65
|
+
def should_write_css?
|
66
|
+
@css.respond_to?(:to_str) and not @css.to_s.empty?
|
67
|
+
end
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
def destination_dir
|
72
|
+
if @desired_dir.nil?
|
73
|
+
@original_dir
|
74
|
+
else
|
75
|
+
if not File.directory?(@desired_dir)
|
76
|
+
FileUtils.mkdir_p(@desired_dir)
|
77
|
+
else
|
78
|
+
@desired_dir
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def process
|
84
|
+
@command = "#{WebifyRuby.webify_binary} #{Shellwords.escape(@file)}"
|
85
|
+
@output = Open3.popen3(@command) { |stdin, stdout, stderr| stdout.read }
|
86
|
+
|
87
|
+
if not is_valid?
|
88
|
+
WebifyRuby.logger.fatal "Invalid input received\n@command\n#{@command}\n@output\n#{@output}\n"
|
89
|
+
raise Error, "Binary responded with failure:\n#{@output}"
|
90
|
+
end
|
91
|
+
|
92
|
+
@generated = Shellwords.escape(@output).split("'\n'").select{|s| s.match('Generating')}.join().split('Generating\\ ')[1..-1]
|
93
|
+
|
94
|
+
if @generated.to_a.empty?
|
95
|
+
WebifyRuby.logger.info "No file output received\n@command\n#{@command}\n@output\n#{@output}\n"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'pathname'
|
4
|
+
|
5
|
+
module WebifyRuby
|
6
|
+
TEMPLATE = <<-CSS.gsub /^\s*/, ''
|
7
|
+
@font-face {
|
8
|
+
font-family: '<%= @name %>';
|
9
|
+
<% if has_eot %>src: url('<%= @url %>.eot'); <% end %>
|
10
|
+
<% if has_eot %>src: url('<%= @url %>.eot?#iefix') format('embedded-opentype')<%if has_ttf or has_woff or has_svg %>,<%end%><%else%>src:<% end %>
|
11
|
+
<% if has_svg %> url('<%= @url %>.svg#<%= @name %>') format('svg')<%if has_ttf or has_woff %>,<%end%><% end %>
|
12
|
+
<% if has_woff %> url('<%= @url %>.woff') format('woff')<%if has_ttf%>,<%end%><% end %>
|
13
|
+
<% if has_ttf %> url('<%= @url %>.ttf') format('truetype')<% end %>;
|
14
|
+
font-weight: normal;
|
15
|
+
font-style: normal;
|
16
|
+
}
|
17
|
+
CSS
|
18
|
+
|
19
|
+
class Css
|
20
|
+
attr_reader :result, :filename, :url, :dir, :css_file, :output
|
21
|
+
|
22
|
+
%w(eot svg woff ttf).each do |ext|
|
23
|
+
define_method('has_' + ext) { @has.include? ext.to_sym }
|
24
|
+
end
|
25
|
+
|
26
|
+
class << self;attr_accessor :relative_from, :link_to;end
|
27
|
+
|
28
|
+
def initialize(name, file, *has)
|
29
|
+
[name, file, has]
|
30
|
+
|
31
|
+
@has = has
|
32
|
+
@name = name
|
33
|
+
|
34
|
+
@filename = File.basename(file, '.*')
|
35
|
+
|
36
|
+
@url = (self.class.relative_from.nil? ?
|
37
|
+
(self.class.link_to ? (self.class.link_to + '/' + File.basename(file)) : file)
|
38
|
+
: Pathname.new(file).relative_path_from(Pathname.new(self.class.relative_from))).to_s[/.*(?=\..+$)/]
|
39
|
+
|
40
|
+
make_css
|
41
|
+
end
|
42
|
+
|
43
|
+
def write(dir)
|
44
|
+
@dir = FileUtils.mkdir_p dir
|
45
|
+
@css_file = File.join(@dir, @filename + '.css')
|
46
|
+
|
47
|
+
File.delete(@css_file) if File.exist?(@css_file)
|
48
|
+
@output = File.open(@css_file, 'w') { |file| file.write(@result) }
|
49
|
+
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def make_css
|
54
|
+
template = ERB.new TEMPLATE
|
55
|
+
result = template.result binding
|
56
|
+
(0..3).each { result.gsub!(/\n;\n/m, ";\n") }
|
57
|
+
@result = result.gsub /^$\n/, ''
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/lib/webify_ruby.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
$:.unshift File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'logger'
|
4
|
+
|
5
|
+
require 'webify_ruby/version'
|
6
|
+
require 'webify_ruby/errors'
|
7
|
+
require 'webify_ruby/convert'
|
8
|
+
require 'webify_ruby/css'
|
9
|
+
require 'webify_ruby/tasks'
|
10
|
+
require 'webify_ruby/railtie' if defined?(Rails)
|
11
|
+
|
12
|
+
module WebifyRuby
|
13
|
+
|
14
|
+
EXT = %w(.ttf .otf)
|
15
|
+
|
16
|
+
def self.logger=(log)
|
17
|
+
@logger = log
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.logger
|
21
|
+
return @logger if @logger
|
22
|
+
logger = Logger.new(STDOUT)
|
23
|
+
logger.level = Logger::INFO
|
24
|
+
@logger = logger
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.webify_binary=(bin)
|
28
|
+
@webify_binary = bin
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.webify_binary
|
32
|
+
@webify_binary || 'webify'
|
33
|
+
end
|
34
|
+
end
|
File without changes
|
File without changes
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: webify_ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Dachi Natsvlishvili
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-02-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
description: WebifyRuby communicates with Webify and provides nice and easy working
|
28
|
+
interface
|
29
|
+
email:
|
30
|
+
- dnatsvlishvili@gmail.com
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- MIT-LICENSE
|
36
|
+
- README.rdoc
|
37
|
+
- Rakefile
|
38
|
+
- lib/tasks/version.rake
|
39
|
+
- lib/webify_ruby.rb
|
40
|
+
- lib/webify_ruby/convert.rb
|
41
|
+
- lib/webify_ruby/css.rb
|
42
|
+
- lib/webify_ruby/errors.rb
|
43
|
+
- lib/webify_ruby/railtie.rb
|
44
|
+
- lib/webify_ruby/tasks.rb
|
45
|
+
- lib/webify_ruby/version.rb
|
46
|
+
- test/dummy/db/test.sqlite3
|
47
|
+
- test/dummy/log/test.log
|
48
|
+
homepage: https://github.com/dachi-gh/webify_ruby
|
49
|
+
licenses:
|
50
|
+
- MIT
|
51
|
+
metadata: {}
|
52
|
+
post_install_message:
|
53
|
+
rdoc_options: []
|
54
|
+
require_paths:
|
55
|
+
- lib
|
56
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
requirements: []
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 2.2.2
|
69
|
+
signing_key:
|
70
|
+
specification_version: 4
|
71
|
+
summary: A Ruby wrapper for Webify application written in Haskell
|
72
|
+
test_files:
|
73
|
+
- test/dummy/db/test.sqlite3
|
74
|
+
- test/dummy/log/test.log
|