fuji 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +18 -0
- data/CONTRIBUTING.md +7 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +35 -0
- data/LICENSE +22 -0
- data/README.md +54 -0
- data/Rakefile +6 -0
- data/fuji.gemspec +23 -0
- data/lib/fuji.rb +134 -0
- data/lib/fuji/version.rb +3 -0
- data/spec/fuji_spec.rb +91 -0
- data/spec/spec.opts +4 -0
- data/spec/spec_helper.rb +10 -0
- data/stylesheets/_fuji.sass +69 -0
- data/tmtags +24 -0
- data/tmtagsHistory +1 -0
- metadata +134 -0
data/.gitignore
ADDED
data/CONTRIBUTING.md
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
fuji (0.0.1)
|
5
|
+
compass
|
6
|
+
sass
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
chunky_png (1.2.6)
|
12
|
+
compass (0.12.2)
|
13
|
+
chunky_png (~> 1.2)
|
14
|
+
fssm (>= 0.2.7)
|
15
|
+
sass (~> 3.1)
|
16
|
+
diff-lcs (1.1.3)
|
17
|
+
fssm (0.2.9)
|
18
|
+
rake (10.0.2)
|
19
|
+
rspec (2.11.0)
|
20
|
+
rspec-core (~> 2.11.0)
|
21
|
+
rspec-expectations (~> 2.11.0)
|
22
|
+
rspec-mocks (~> 2.11.0)
|
23
|
+
rspec-core (2.11.1)
|
24
|
+
rspec-expectations (2.11.3)
|
25
|
+
diff-lcs (~> 1.1.3)
|
26
|
+
rspec-mocks (2.11.2)
|
27
|
+
sass (3.2.1)
|
28
|
+
|
29
|
+
PLATFORMS
|
30
|
+
ruby
|
31
|
+
|
32
|
+
DEPENDENCIES
|
33
|
+
fuji!
|
34
|
+
rake
|
35
|
+
rspec
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 zeke
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
Fuji
|
2
|
+
====
|
3
|
+
|
4
|
+
Fuji is a ruby gem for rendering and styling Heroku's global header and nav.
|
5
|
+
|
6
|
+
The only dependencies are Sass and Compass, so you can use it with Rails or Sinatra.
|
7
|
+
|
8
|
+
Usage
|
9
|
+
-----
|
10
|
+
|
11
|
+
Add fuji to your application's Gemfile:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'fuji'
|
15
|
+
```
|
16
|
+
|
17
|
+
Render the header in your application layout:
|
18
|
+
|
19
|
+
```haml
|
20
|
+
= Fuji::Header.render
|
21
|
+
```
|
22
|
+
|
23
|
+
The render method accepts the following options:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
{
|
27
|
+
gravatar_default: "http://assets.heroku.com.s3.amazonaws.com/addons.heroku.com/gravatar_default.png",
|
28
|
+
logo_text: "heroku",
|
29
|
+
logo_url: "https://www.heroku.com",
|
30
|
+
user: nil,
|
31
|
+
login_path: nil,
|
32
|
+
logout_path: nil,
|
33
|
+
}
|
34
|
+
```
|
35
|
+
|
36
|
+
Style it up by importing the fuji partial into your main sass/scss stylesheet
|
37
|
+
|
38
|
+
```sass
|
39
|
+
// Override defaults if you wish:
|
40
|
+
$fuji-foreground-color: #FFF
|
41
|
+
$fuji-text-color: rgba(#FFF, 1)
|
42
|
+
$fuji-highlight-color: #FFF
|
43
|
+
$fuji-max-width: 960px
|
44
|
+
|
45
|
+
@import "fuji"
|
46
|
+
```
|
47
|
+
|
48
|
+
## Contributing
|
49
|
+
|
50
|
+
See CONTRIBUTING.md
|
51
|
+
|
52
|
+
## License
|
53
|
+
|
54
|
+
MIT. Go nuts.
|
data/Rakefile
ADDED
data/fuji.gemspec
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/fuji/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Zeke Sikelianos"]
|
6
|
+
gem.email = ["zeke@sikelianos.com"]
|
7
|
+
gem.description = %q{heroku's site header}
|
8
|
+
gem.summary = %q{heroku's site header}
|
9
|
+
gem.homepage = "https://github.com/heroku/fuji"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "fuji"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Fuji::VERSION
|
17
|
+
|
18
|
+
gem.add_development_dependency 'rspec'
|
19
|
+
gem.add_development_dependency 'rake'
|
20
|
+
|
21
|
+
gem.add_dependency "compass"
|
22
|
+
gem.add_dependency "sass"
|
23
|
+
end
|
data/lib/fuji.rb
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
require "fuji/version"
|
2
|
+
require 'digest/md5'
|
3
|
+
require 'uri'
|
4
|
+
require "compass"
|
5
|
+
|
6
|
+
# module Foo
|
7
|
+
#
|
8
|
+
# module Header
|
9
|
+
# def render
|
10
|
+
# puts "rendered!"
|
11
|
+
# end
|
12
|
+
# end
|
13
|
+
# extend Header
|
14
|
+
#
|
15
|
+
# end
|
16
|
+
|
17
|
+
module Fuji
|
18
|
+
|
19
|
+
def self.render
|
20
|
+
::Header.render
|
21
|
+
end
|
22
|
+
|
23
|
+
# This makes an _fuji.sass partial available to your app.
|
24
|
+
class Style
|
25
|
+
base_directory = File.join(File.dirname(__FILE__), '..')
|
26
|
+
Compass::Frameworks.register('fuji', :path => base_directory)
|
27
|
+
end
|
28
|
+
|
29
|
+
class Header
|
30
|
+
def self.render(options={})
|
31
|
+
|
32
|
+
# Options
|
33
|
+
options[:gravatar_fallback_url] ||= "http://assets.heroku.com.s3.amazonaws.com/addons.heroku.com/gravatar_default.png"
|
34
|
+
options[:logo_text] ||= "heroku"
|
35
|
+
options[:logo_url] ||= "https://www.heroku.com"
|
36
|
+
options[:user] ||= nil
|
37
|
+
options[:login_path] ||= nil
|
38
|
+
options[:logout_path] ||= nil
|
39
|
+
options[:links] ||= nil
|
40
|
+
|
41
|
+
links = []
|
42
|
+
|
43
|
+
unless options[:user]
|
44
|
+
links << {id: :how, name: 'How it Works', url: 'https://heroku.com/how'}
|
45
|
+
links << {id: :pricing, name: 'Pricing', url: 'https://www.heroku.com/pricing'}
|
46
|
+
end
|
47
|
+
|
48
|
+
links << {id: :apps, name: 'Apps', url: 'https://dashboard.heroku.com'}
|
49
|
+
links << {id: :addons, name: 'Addons', url: 'https://addons.heroku.com'}
|
50
|
+
links << {id: :documentation, name: 'Documentation', url: 'https://devcenter.heroku.com'}
|
51
|
+
links << {id: :support, name: 'Support', url: 'https://help.heroku.com'}
|
52
|
+
|
53
|
+
if options[:user] && options[:logout_path]
|
54
|
+
links << {id: :logout, name: 'Logout', url: options[:logout_path]}
|
55
|
+
end
|
56
|
+
|
57
|
+
# Gravatar
|
58
|
+
if options[:user] && options[:user].email
|
59
|
+
gravatar_url = [
|
60
|
+
"https://secure.gravatar.com/avatar/",
|
61
|
+
Digest::MD5.hexdigest(options[:user].email),
|
62
|
+
"?default=",
|
63
|
+
URI.escape(options[:gravatar_fallback_url])
|
64
|
+
].join("")
|
65
|
+
links << {
|
66
|
+
id: :gravatar,
|
67
|
+
name: Fuji::Helper.image_tag(gravatar_url),
|
68
|
+
url: 'https://dashboard.heroku.com/account'
|
69
|
+
}
|
70
|
+
end
|
71
|
+
|
72
|
+
if options[:login_path] && options[:current_user].nil?
|
73
|
+
links << {id: :login, name: 'Login', url: options[:login_path]}
|
74
|
+
end
|
75
|
+
|
76
|
+
# Join links together
|
77
|
+
links = links.map do |link|
|
78
|
+
Fuji::Helper.link_to(link[:name], link[:url], link[:id])
|
79
|
+
end.join("\n")
|
80
|
+
|
81
|
+
# Prepare the HTML output
|
82
|
+
out = "
|
83
|
+
<div id='fuji' class='fuji'>
|
84
|
+
<div class='container'>
|
85
|
+
<h1>
|
86
|
+
<a href='#{options[:logo_url]}'>#{options[:logo_text]}</a>
|
87
|
+
</h1>
|
88
|
+
<ul>#{links}</ul>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
"
|
92
|
+
|
93
|
+
# If we're in Rails, make it HTML safe
|
94
|
+
out.respond_to?(:html_safe) ? out.html_safe : out
|
95
|
+
end
|
96
|
+
|
97
|
+
# def self.default_links(options={})
|
98
|
+
# end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
class Helper
|
103
|
+
|
104
|
+
def self.current_site_matches?(search_string_or_url, request_object=nil)
|
105
|
+
# Allow request object to be mocked, for testing purposes
|
106
|
+
request ||= request_object
|
107
|
+
return false unless request
|
108
|
+
|
109
|
+
# Clean the string up
|
110
|
+
q = extract_domain(search_string_or_url).to_s
|
111
|
+
|
112
|
+
return true if request.url && request.url.include?(q)
|
113
|
+
return true if request.host_with_port && request.host_with_port.include?(q)
|
114
|
+
false
|
115
|
+
end
|
116
|
+
|
117
|
+
def self.extract_domain(string)
|
118
|
+
string =~ (/^(?:\w+:\/\/)?([^\/?]+)(?:\/|\?|$)/) ? $1 : string
|
119
|
+
end
|
120
|
+
|
121
|
+
def self.link_to(name, url, css="")
|
122
|
+
css << " active" if Fuji::Helper.current_site_matches?(url)
|
123
|
+
"<li><a href='#{url}' class='#{css}'>#{name}</a></li>"
|
124
|
+
end
|
125
|
+
|
126
|
+
def self.image_tag(url)
|
127
|
+
"<img src='#{url}'>"
|
128
|
+
end
|
129
|
+
|
130
|
+
end
|
131
|
+
|
132
|
+
end
|
133
|
+
|
134
|
+
# ActionView::Base.send :include, Fuji::ViewHelpers if defined?(ActionView)
|
data/lib/fuji/version.rb
ADDED
data/spec/fuji_spec.rb
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'digest/md5'
|
3
|
+
|
4
|
+
describe Fuji::Header do
|
5
|
+
|
6
|
+
describe "fuji" do
|
7
|
+
before do
|
8
|
+
@user = OpenStruct.new(email: "bob@heroku.com")
|
9
|
+
end
|
10
|
+
|
11
|
+
it "outputs an HTML string" do
|
12
|
+
Fuji::Header.render.should match /div id='fuji'/
|
13
|
+
end
|
14
|
+
|
15
|
+
it "renders the user's avatar" do
|
16
|
+
h = Fuji::Header.render(user: @user)
|
17
|
+
hash = Digest::MD5.hexdigest(@user.email)
|
18
|
+
|
19
|
+
h.should match /#{hash}/
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "Fuji::Helper.current_site_matches?" do
|
25
|
+
|
26
|
+
describe "inside a rails app" do
|
27
|
+
before do
|
28
|
+
@request = OpenStruct.new(protocol: "https://", host_with_port: "dhh.com", fullpath: "/foo")
|
29
|
+
end
|
30
|
+
|
31
|
+
it "detects search string" do
|
32
|
+
Fuji::Helper.current_site_matches?('dhh.com/foo', @request).should == true
|
33
|
+
end
|
34
|
+
|
35
|
+
it "doesn't detect search string" do
|
36
|
+
Fuji::Helper.current_site_matches?('some other shit', @request).should == false
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "inside a sinatra app" do
|
42
|
+
|
43
|
+
before do
|
44
|
+
@request = OpenStruct.new(url: "https://mizerany.com")
|
45
|
+
end
|
46
|
+
|
47
|
+
it "detects search string" do
|
48
|
+
Fuji::Helper.current_site_matches?('mizerany', @request).should == true
|
49
|
+
end
|
50
|
+
|
51
|
+
it "doesn't detect search string" do
|
52
|
+
Fuji::Helper.current_site_matches?('some other blake', @request).should == false
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "in any kind of ruby app" do
|
58
|
+
|
59
|
+
before do
|
60
|
+
@request = OpenStruct.new(url: "https://the-rest.com")
|
61
|
+
end
|
62
|
+
|
63
|
+
it "allows a symbol as a search string" do
|
64
|
+
Fuji::Helper.current_site_matches?(:rest, @request).should == true
|
65
|
+
end
|
66
|
+
|
67
|
+
it "matches against domain name when given a full URL" do
|
68
|
+
Fuji::Helper.current_site_matches?("http://the-rest.com/extra/mojo", @request).should == true
|
69
|
+
end
|
70
|
+
|
71
|
+
it "returns false if request object is nil" do
|
72
|
+
Fuji::Helper.current_site_matches?('foo').should == false
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "extract_domain" do
|
80
|
+
|
81
|
+
it "pulls the domain out of a URL string" do
|
82
|
+
Fuji::Helper.extract_domain("https://dweeb-fest.example.com/sho/biz").should == "dweeb-fest.example.com"
|
83
|
+
end
|
84
|
+
|
85
|
+
it "returns the original string if it doesn't contain a domain" do
|
86
|
+
Fuji::Helper.extract_domain("turkey jerky").should == "turkey jerky"
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
// Config
|
2
|
+
$fuji-foreground-color: #FFF !default
|
3
|
+
$fuji-text-color: rgba(#FFF, 1) !default
|
4
|
+
$fuji-highlight-color: #aed582 !default
|
5
|
+
$fuji-max-width: 960px !default
|
6
|
+
$fuji-line-edge-color: rgba($fuji-foreground-color, 0) !default
|
7
|
+
$fuji-line-middle-color: rgba($fuji-foreground-color, 0.1) !default
|
8
|
+
$fuji-line-size: 40% !default
|
9
|
+
|
10
|
+
#fuji
|
11
|
+
+transition(all 0.5s false 0s)
|
12
|
+
float: none
|
13
|
+
overflow: hidden
|
14
|
+
margin-bottom: 20px
|
15
|
+
padding: 14px 0
|
16
|
+
|
17
|
+
.container
|
18
|
+
margin-left: auto
|
19
|
+
margin-right: auto
|
20
|
+
position: relative
|
21
|
+
min-width: 320px
|
22
|
+
max-width: $fuji-max-width
|
23
|
+
|
24
|
+
h1
|
25
|
+
float: left
|
26
|
+
margin: 0
|
27
|
+
padding: 0
|
28
|
+
a
|
29
|
+
+transition(all 0.3s false 0s)
|
30
|
+
max-width: 300px
|
31
|
+
overflow: hidden
|
32
|
+
span
|
33
|
+
display: none
|
34
|
+
|
35
|
+
ul
|
36
|
+
list-style: none
|
37
|
+
margin: 4px 0 0 0
|
38
|
+
padding: 0
|
39
|
+
float: right
|
40
|
+
max-width: 600px
|
41
|
+
> li
|
42
|
+
float: left
|
43
|
+
+background-image(linear-gradient(top, $fuji-line-edge-color, $fuji-line-middle-color $fuji-line-size, $fuji-line-middle-color (100% - $fuji-line-size), $fuji-line-edge-color))
|
44
|
+
background-position: left center
|
45
|
+
background-repeat: no-repeat
|
46
|
+
background-size: 1px 100%
|
47
|
+
font-size: 13px
|
48
|
+
a
|
49
|
+
+transition(all 0.3s false 0s)
|
50
|
+
color: rgba($fuji-text-color, 0.5)
|
51
|
+
display: block
|
52
|
+
padding: 7px 15px
|
53
|
+
text-decoration: none
|
54
|
+
&:hover, &.active
|
55
|
+
text-decoration: underline
|
56
|
+
color: $fuji-highlight-color
|
57
|
+
&.em
|
58
|
+
color: rgba($fuji-text-color, 1)
|
59
|
+
|
60
|
+
&.gravatar
|
61
|
+
padding: 0 0 0 15px
|
62
|
+
img
|
63
|
+
display: block
|
64
|
+
width: 32px
|
65
|
+
height: 32px
|
66
|
+
+border-radius(16px)
|
67
|
+
|
68
|
+
&:first-child
|
69
|
+
background: none
|
data/tmtags
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
2
|
+
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
3
|
+
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
|
4
|
+
!_TAG_PROGRAM_NAME Exuberant Ctags //
|
5
|
+
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
|
6
|
+
!_TAG_PROGRAM_VERSION Development //
|
7
|
+
"Fuji /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^ describe "Fuji::Helper.current_site_matches?" do$/;" describe line:24
|
8
|
+
"fuji" do /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^ describe "fuji" do$/;" describe line:6
|
9
|
+
"extract_domain" do /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^ describe "extract_domain" do$/;" describe line:79
|
10
|
+
"in any kind of ruby app" do /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^ describe "in any kind of ruby app" do$/;" describe line:57
|
11
|
+
"inside a rails app" do /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^ describe "inside a rails app" do$/;" describe line:26
|
12
|
+
"inside a sinatra app" do /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^ describe "inside a sinatra app" do$/;" describe line:41
|
13
|
+
Fuji /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^module Fuji$/;" module line:17
|
14
|
+
Fuji /Users/zeke/Projects/hero/fuji/lib/fuji/version.rb /^module Fuji$/;" module line:1
|
15
|
+
Fuji /Users/zeke/Projects/hero/fuji/spec/fuji_spec.rb /^describe Fuji::Header do$/;" describe line:4
|
16
|
+
Header /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ class Header$/;" class line:29
|
17
|
+
Helper /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ class Helper$/;" class line:102
|
18
|
+
Style /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ class Style$/;" class line:24
|
19
|
+
current_site_matches /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ def self.current_site_matches?(search_string_or_url, request_object=nil)$/;" singleton method line:104
|
20
|
+
extract_domain /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ def self.extract_domain(string)$/;" singleton method line:117
|
21
|
+
image_tag /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ def self.image_tag(url)$/;" singleton method line:126
|
22
|
+
link_to /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ def self.link_to(name, url, css="")$/;" singleton method line:121
|
23
|
+
render /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ def self.render(options={})$/;" singleton method line:30
|
24
|
+
render /Users/zeke/Projects/hero/fuji/lib/fuji.rb /^ def self.render$/;" singleton method line:19
|
data/tmtagsHistory
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
<dt><span class="filename"><a href="txmt://open?url=file:///Users/zeke/Projects/hero/fuji/lib/fuji.rb&line=98">fuji.rb:98 -- /Users/zeke/Projects/hero/fuji/lib</a></span><br><div class="code"> # end</div></dt>
|
metadata
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fuji
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Zeke Sikelianos
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-12-11 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
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
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: compass
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: sass
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
description: heroku's site header
|
79
|
+
email:
|
80
|
+
- zeke@sikelianos.com
|
81
|
+
executables: []
|
82
|
+
extensions: []
|
83
|
+
extra_rdoc_files: []
|
84
|
+
files:
|
85
|
+
- .gitignore
|
86
|
+
- CONTRIBUTING.md
|
87
|
+
- Gemfile
|
88
|
+
- Gemfile.lock
|
89
|
+
- LICENSE
|
90
|
+
- README.md
|
91
|
+
- Rakefile
|
92
|
+
- fuji.gemspec
|
93
|
+
- lib/fuji.rb
|
94
|
+
- lib/fuji/version.rb
|
95
|
+
- spec/fuji_spec.rb
|
96
|
+
- spec/spec.opts
|
97
|
+
- spec/spec_helper.rb
|
98
|
+
- stylesheets/_fuji.sass
|
99
|
+
- tmtags
|
100
|
+
- tmtagsHistory
|
101
|
+
homepage: https://github.com/heroku/fuji
|
102
|
+
licenses: []
|
103
|
+
post_install_message:
|
104
|
+
rdoc_options: []
|
105
|
+
require_paths:
|
106
|
+
- lib
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
segments:
|
114
|
+
- 0
|
115
|
+
hash: -2441385227944830096
|
116
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
segments:
|
123
|
+
- 0
|
124
|
+
hash: -2441385227944830096
|
125
|
+
requirements: []
|
126
|
+
rubyforge_project:
|
127
|
+
rubygems_version: 1.8.24
|
128
|
+
signing_key:
|
129
|
+
specification_version: 3
|
130
|
+
summary: heroku's site header
|
131
|
+
test_files:
|
132
|
+
- spec/fuji_spec.rb
|
133
|
+
- spec/spec.opts
|
134
|
+
- spec/spec_helper.rb
|