savagery 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af5e8dab154d57467a364bb5a2e6aa37d8b2f1f4
4
- data.tar.gz: 253378ce924305f255292635211261ff4eaeb880
3
+ metadata.gz: 0150cff94514f6d8587a3257ae0a5962030e5fb0
4
+ data.tar.gz: 0608e6d5e9f859a73ff54c51bc5d2af5fe58cddd
5
5
  SHA512:
6
- metadata.gz: 942fe2cc63dd8ad97578544be840c577dcb7b3e06f4a82a7b6a411e86e0ffe76f8c88b4920e377ed0f701fe18c73bcf7105eef8890b86cf44a0c447de9c4ad4c
7
- data.tar.gz: fc59d5f61595b1cd5a40430a169e86b203ca01c0a643ddb959a93092e15c97a3c4db51804547b5eb2ae30e740fc2d5fa82f5332031d049a1b186772a7207d569
6
+ metadata.gz: 452d67396808834c178b3e1d58d7b61c1ecba8553c0aa5ff450dd950898fd97b5223afa477fed19df4973abe7b02906ab8c0e458729de6497e47843db8413d1f
7
+ data.tar.gz: 367674cd61251f38b0af3b275dfa27a9ad85a316a70a829da401aafa88fc2f5b8ebd7e7aee15e9700fa8cab5def010a90790d1cbbf85b927d9ed29b01c0fd32d
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -1,9 +1,12 @@
1
+ //= require ember-rails-assets
2
+
1
3
  Savagery = {
2
4
  svgSpriteInclude: function(name) {
3
5
  if(this._svgSpritesIncluded[name]) { return; }
4
6
  this._svgSpritesIncluded[name] = true
5
7
 
6
- $.get("/assets/" + name + ".svg", function(data) {
8
+ path = window.ASSETS.path(name + ".svg")
9
+ $.get(path, function(data) {
7
10
  $("body").prepend(data);
8
11
  }, "text");
9
12
  },
@@ -1,11 +1,11 @@
1
1
  require "rails"
2
- require "savagery/helpers"
2
+ require "savagery/helpers/rails"
3
3
  require "savagery/middleware"
4
4
 
5
5
  module Savagery
6
6
  class Engine < Rails::Engine
7
7
  initializer "savagery.helpers" do |app|
8
- ApplicationController.helper(Helpers)
8
+ ApplicationController.helper Helpers::Rails
9
9
  end
10
10
 
11
11
  initializer "savagery.middleware" do |app|
@@ -0,0 +1,21 @@
1
+ require "set"
2
+ require "savagery/helpers"
3
+
4
+ module Savagery
5
+ module Helpers::Rails
6
+ def svg_sprite_include *args
7
+ raw _svg_sprite_helper.svg_sprite_include(*args)
8
+ end
9
+
10
+ def svg_sprite_use *args
11
+ raw _svg_sprite_helper.svg_sprite_use(*args)
12
+ end
13
+
14
+ private
15
+
16
+ def _svg_sprite_helper
17
+ @_svg_sprite_helper ||= Helpers.new("app/assets/svgs")
18
+ end
19
+ end
20
+ end
21
+
@@ -1,29 +1,32 @@
1
1
  require "set"
2
2
 
3
3
  module Savagery
4
- module Helpers
4
+ class Helpers < Struct.new(:base_path)
5
5
  def svg_sprite_include path
6
- return raw("") if svg_sprites_included.include?(path)
7
6
  svg_sprites_included.add path
8
-
9
- sprite_file = "app/assets/svgs/#{path}.svg"
10
- raw File.read(sprite_file)
7
+ svg_sprite_read(path)
11
8
  end
12
9
 
13
10
  def svg_sprite_use name, options={}
14
- dirname = File.dirname(name)
15
- sprite = svg_sprite_include(dirname)
16
-
17
- basename = File.basename(name)
18
- options[:class] ||= basename
19
- sprite + content_tag(:svg, options) do
20
- content_tag :use, nil, "xlink:href" => "##{basename}"
21
- end
11
+ dirname, basename = name.split("/")
12
+ sprite = svg_sprite_include(dirname) unless svg_sprites_included.include?(dirname)
13
+ use = %(<svg class="#{options[:class] || basename}"><use xlink:href="##{basename}"></use></svg>)
14
+ [sprite, use].join
22
15
  end
23
16
 
17
+ private
18
+
24
19
  def svg_sprites_included
25
20
  @svg_sprites_included ||= Set.new
26
21
  end
22
+
23
+ def svg_sprite_read path
24
+ File.read(svg_sprite_path(path))
25
+ end
26
+
27
+ def svg_sprite_path path
28
+ File.join(base_path, "#{path}.svg")
29
+ end
27
30
  end
28
31
  end
29
32
 
@@ -16,7 +16,7 @@ module Savagery
16
16
  end
17
17
 
18
18
  def image
19
- data[/<svg\b[^>]*>(.+)<\/svg>/m, 1].gsub(/[\r\n]+/, "\n")
19
+ data[/<svg\b[^>]*>(.+)<\/svg>/m, 1]
20
20
  end
21
21
 
22
22
  def data
@@ -1,3 +1,3 @@
1
1
  module Savagery
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/savagery.gemspec CHANGED
@@ -18,7 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_dependency "ember-rails-assets"
22
+
21
23
  spec.add_development_dependency "bundler", "~> 1.6"
24
+ spec.add_development_dependency "actionview"
22
25
  spec.add_development_dependency "rake"
23
26
  spec.add_development_dependency "rspec"
24
27
  spec.add_development_dependency "byebug"
@@ -0,0 +1,38 @@
1
+ require "savagery/helpers/rails"
2
+ require "action_view"
3
+
4
+ describe Savagery::Helpers::Rails do
5
+ subject { ActionView::Base.new.extend(described_class) }
6
+
7
+ context "given a sprite" do
8
+ let(:helpers) do
9
+ double(svg_sprite_include: "<svg_sprite_include />",
10
+ svg_sprite_use: "<svg_sprite_use />")
11
+ end
12
+
13
+ before do
14
+ Savagery::Helpers.should_receive(:new).with("app/assets/svgs").and_return(helpers)
15
+ end
16
+
17
+ describe "#svg_sprite_include" do
18
+ it "delegates to helpers" do
19
+ subject.svg_sprite_include.should == "<svg_sprite_include />"
20
+ end
21
+
22
+ it "is marked as safe to embed" do
23
+ subject.svg_sprite_include.should be_html_safe
24
+ end
25
+ end
26
+
27
+ describe "#svg_sprite_use" do
28
+ it "delegates to helpers" do
29
+ subject.svg_sprite_use.should == "<svg_sprite_use />"
30
+ end
31
+
32
+ it "is marked as safe to embed" do
33
+ subject.svg_sprite_use.should be_html_safe
34
+ end
35
+ end
36
+ end
37
+ end
38
+
@@ -0,0 +1,27 @@
1
+ require "fileutils"
2
+ require "savagery/helpers"
3
+
4
+ describe Savagery::Helpers do
5
+ context "given a sprite" do
6
+ before do
7
+ FileUtils.rm_rf "tmp/svgs.svg"
8
+ File.write "tmp/svgs.svg", "<svg-defs/>\n"
9
+ end
10
+
11
+ subject { described_class.new("tmp") }
12
+
13
+ describe "#svg_sprite_use" do
14
+ it "outputs the sprite plus svg use element on first try" do
15
+ subject.svg_sprite_use("svgs/wtf").should ==
16
+ %(<svg-defs/>\n<svg class="wtf"><use xlink:href="#wtf"></use></svg>)
17
+ end
18
+
19
+ it "outputs just the svg use element on second try" do
20
+ subject.svg_sprite_use("svgs/wtf")
21
+ subject.svg_sprite_use("svgs/wtf").should ==
22
+ %(<svg class="wtf"><use xlink:href="#wtf"></use></svg>)
23
+ end
24
+ end
25
+ end
26
+ end
27
+
@@ -1,19 +1,14 @@
1
1
  require "savagery"
2
- require "fileutils"
3
- require "byebug"
4
2
 
5
3
  describe Savagery do
6
- before do
7
- FileUtils.rm_rf "tmp/svgs"
8
- FileUtils.rm_rf "tmp/svgs.svg"
9
- FileUtils.cp_r "spec/support/svgs", "tmp/svgs"
10
- end
4
+ let(:spriter) { double(:spriter) }
5
+ let(:path) { double(:path) }
6
+
7
+ it ".sprite! delegates to Savagery::Spriter" do
8
+ Savagery::Spriter.should_receive(:new).with(path).and_return(spriter)
9
+ spriter.should_receive(:sprite!)
11
10
 
12
- it ".sprite!" do
13
- Savagery.sprite!("tmp/svgs")
14
- actual = File.read("tmp/svgs.svg")
15
- expected = File.read("spec/support/svgs.svg")
16
- expect(actual).to eq expected
11
+ subject.sprite!(path)
17
12
  end
18
13
  end
19
14
 
@@ -0,0 +1,61 @@
1
+ require "byebug"
2
+
3
+ RSpec.configure do |config|
4
+ # These two settings work together to allow you to limit a spec run
5
+ # to individual examples or groups you care about by tagging them with
6
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
7
+ # get run.
8
+ config.filter_run :focus
9
+ config.run_all_when_everything_filtered = true
10
+
11
+ # Many RSpec users commonly either run the entire suite or an individual
12
+ # file, and it's useful to allow more verbose output when running an
13
+ # individual spec file.
14
+ if config.files_to_run.one?
15
+ # Use the documentation formatter for detailed output,
16
+ # unless a formatter has already been configured
17
+ # (e.g. via a command-line flag).
18
+ config.default_formatter = 'doc'
19
+ end
20
+
21
+ # Print the 10 slowest examples and example groups at the
22
+ # end of the spec run, to help surface which specs are running
23
+ # particularly slow.
24
+ # config.profile_examples = 10
25
+
26
+ # Run specs in random order to surface order dependencies. If you find an
27
+ # order dependency and want to debug it, you can fix the order by providing
28
+ # the seed, which is printed after each run.
29
+ # --seed 1234
30
+ config.order = :random
31
+
32
+ # Seed global randomization in this process using the `--seed` CLI option.
33
+ # Setting this allows you to use `--seed` to deterministically reproduce
34
+ # test failures related to randomization by passing the same `--seed` value
35
+ # as the one that triggered the failure.
36
+ Kernel.srand config.seed
37
+
38
+ # rspec-expectations config goes here. You can use an alternate
39
+ # assertion/expectation library such as wrong or the stdlib/minitest
40
+ # assertions if you prefer.
41
+ config.expect_with :rspec do |expectations|
42
+ # Enable only the newer, non-monkey-patching expect syntax.
43
+ # For more details, see:
44
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
45
+ expectations.syntax = [:should, :expect]
46
+ end
47
+
48
+ # rspec-mocks config goes here. You can use an alternate test double
49
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
50
+ config.mock_with :rspec do |mocks|
51
+ # Enable only the newer, non-monkey-patching expect syntax.
52
+ # For more details, see:
53
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
54
+ mocks.syntax = [:should, :expect]
55
+
56
+ # Prevents you from mocking or stubbing a method that does not exist on
57
+ # a real object. This is generally recommended.
58
+ mocks.verify_partial_doubles = true
59
+ end
60
+ end
61
+
@@ -0,0 +1,17 @@
1
+ require "savagery/spriter"
2
+ require "fileutils"
3
+
4
+ describe Savagery::Spriter do
5
+ before do
6
+ FileUtils.rm_rf ["tmp/svgs", "tmp/svgs.svg"]
7
+ FileUtils.cp_r "spec/support/svgs", "tmp/svgs"
8
+ end
9
+
10
+ subject { described_class.new("tmp/svgs") }
11
+
12
+ it "#sprite!" do
13
+ subject.sprite!
14
+ File.read("tmp/svgs.svg").should == File.read("spec/support/svgs.svg")
15
+ end
16
+ end
17
+
@@ -1,142 +1,142 @@
1
1
  <svg style="display: none"><defs>
2
2
 
3
- <symbol id="callout1">
4
- <g opacity="0.6">
5
- <path fill="#C2DFF5" d="M945.959,12.514c-2.913-1.25-7.968-1.442-12.753-1.714C936.875,12.009,940.785,12.569,945.959,12.514z"/>
6
- <polygon fill="#C2DFF5" points="933.113,10.772 933.04,10.787 933.206,10.799 "/>
7
- <path fill="#C2DFF5" d="M3.523,51.041l3.941-0.017C6.145,50.967,4.802,50.945,3.523,51.041z"/>
8
- <path fill="#C2DFF5" d="M701.295,3.878l-0.759,1.989c-11.356-0.141-3.272-2.336-13.78-1.999
9
- c-4.148,2.766-17.437-0.551-21.088,0.897c0.085-0.223-5.055-0.385-4.717-1.264c-1.597,1.511-5.293,0.278-8.541,0.622
10
- c-1.182,0.409,0.855,0.472,1.728,0.947l-7.436,0.432c-2.898-0.536-3.601-1.45-0.44-1.57c-19.403-0.837-112.581-3.684-133.505-3.227
11
- c2.671,1.198,9.138,0.51,11.564,2.368c-5.544,0.941-8.135-0.477-10.587,0.563c-2.083-2.744-12.142-0.83-16.286-3.637l-1.608,1.511
12
- l-2.733-0.98c-24.339,1.24-5.568,0.699-27.117,0.018c-12.479,0.052-18.438,2.095-25.367,1.208c1.031,0.031,3.768,1.011,0.531,1.357
13
- c-0.531-1.357-8.618,0.839-10.172-0.543c-3.168,0.122-13.419-0.204-9.976,1.691c-1.728-0.946-10.871-1.457-5.413-2.176
14
- c-3.085-0.099-6.072-0.416-8.299-0.041l3.955,0.572c-10.427,0.113-16.087-1.397-22.901,0.169l3.841,0.791
15
- c-6.233,0.026-11.447,0.084-13.868-1.774l6.407-0.467c-10.337-0.105-16.571-0.078-25.2,0.766l3.074,0.095
16
- c-11.001,1.659-68.436,2.317-78.583,4.449l4.637,1.484l-8.714,1.064c1.028,0.032,4.265-4.536,5.12-4.061
17
- C266.426,4.989,169.48,4.654,152.284,3.446c-6.933-0.888-1.216-2.267-1.133-2.49c-8.459,0.406-3.668,1.447-10.851,1.22
18
- c-1.958-0.284,0.423-1.104,1.528-1.29c-3.151,0.123-6.063-0.412-6.313,0.245c3.93,0.572,2.236,2.304,3.887,3.469l-9.24-0.289
19
- l0.426-1.103c-2.06-0.064-5.271,2.955-14.34,2.225C100.938,4.728,84.297,4.87,68.9,4.387c0.25-0.663,3.489-1.008,6.737-1.35
20
- c-2.066-0.065-5.214,0.059-7.109-0.448c3.702,1.231-6.476,0.687-3.575,1.226C53.633,6.359,39.074,3.668,29.09,5.359
21
- C28.184,7.785,7.149,46.917,7.106,49.814C4.015,49.717,0.94,49.619,0,49.367c0.787,0.695,6.859,1.108,10.095,0.766l0.58-1.545
22
- c7.439-0.436,1.728,0.949,8.981,0.951c0.369,1.277-6.312,1.45-12.192,1.485c5.292,0.227,10.549,1.229,12.726-0.13
23
- c4.967,0.603-0.577,1.544,5.407,2.178c4.273-0.312,9.896-1.473,14.789-0.648l-0.091,0.223c11.899,1.488,18.264-1.658,29.135-0.199
24
- l-1.179,0.407c3.838,0.792,11.431-0.083,18.363,0.803c-1.978-0.285-3.685-1.229,0.492-1.318c7.973,0.917,13.431,0.198,19.253,1.272
25
- l5.62-1.161c27.793,0.656,137.619,0.509,165.546,0.723l-1.097,0.183c42.555,0.005,129.891,1.392,173.889,0.329
26
- c6.782,1.322,16.167,1.173,23.256,1.622c-3.938-0.569-2.574-1.419,0.506-1.323c21.617,0.461,1.471-0.825,23.343-1.025
27
- c25.191-0.766,121.518,1.953,143.85,3.328c12.03-1.629,26.996-0.042,38.773-1.01l-1.19,0.407
28
- c12.641-0.491,84.114,2.237,98.805,1.81l-1.97-0.288c12.817-0.933,11.045,1.018,21.123,1.782c-1.296-2.046,9.69-3.033,13.875-3.124
29
- l-0.164,0.44c6.313-0.248,20.629-1.797,31.052-1.914l-0.424,1.102c8.706-1.062,25.035-0.327,31.28-0.351
30
- c14.274,0.67,36.27,2.926,55.386,1.743l12.29,3.342l1.812-0.288c0,0,20.43-37.86-4.67-46.359l0.418-1.1l-4.987,0.069
31
- c-5.976-0.633-8.762,0.609-8.339-0.489l8.194,0.258c-6.007-0.41-1.801-0.936,0.504-1.528c-2.509-0.145-4.943-0.312-6.936-0.683
32
- c-1.191,0.409,0.863,0.473,1.795,0.726c-3.239,0.343-7.757,1.316-11.687,0.748c-6.154-0.196-0.366-1.798-7.546-2.022
33
- c-37.866-1.417-74.551-3.242-112.841-3.559c-0.863-0.472,0.174-0.439,1.282-0.629c-11.542,0.307-21.791-0.018-32.301,0.323
34
- c-2.909-0.539-3.696-1.23-4.552-1.704C761.975,4.931,702.238,4.132,701.295,3.878z"/>
35
- </g>
3
+ <symbol id="callout1">
4
+ <g opacity="0.6">
5
+ <path fill="#C2DFF5" d="M945.959,12.514c-2.913-1.25-7.968-1.442-12.753-1.714C936.875,12.009,940.785,12.569,945.959,12.514z"/>
6
+ <polygon fill="#C2DFF5" points="933.113,10.772 933.04,10.787 933.206,10.799 "/>
7
+ <path fill="#C2DFF5" d="M3.523,51.041l3.941-0.017C6.145,50.967,4.802,50.945,3.523,51.041z"/>
8
+ <path fill="#C2DFF5" d="M701.295,3.878l-0.759,1.989c-11.356-0.141-3.272-2.336-13.78-1.999
9
+ c-4.148,2.766-17.437-0.551-21.088,0.897c0.085-0.223-5.055-0.385-4.717-1.264c-1.597,1.511-5.293,0.278-8.541,0.622
10
+ c-1.182,0.409,0.855,0.472,1.728,0.947l-7.436,0.432c-2.898-0.536-3.601-1.45-0.44-1.57c-19.403-0.837-112.581-3.684-133.505-3.227
11
+ c2.671,1.198,9.138,0.51,11.564,2.368c-5.544,0.941-8.135-0.477-10.587,0.563c-2.083-2.744-12.142-0.83-16.286-3.637l-1.608,1.511
12
+ l-2.733-0.98c-24.339,1.24-5.568,0.699-27.117,0.018c-12.479,0.052-18.438,2.095-25.367,1.208c1.031,0.031,3.768,1.011,0.531,1.357
13
+ c-0.531-1.357-8.618,0.839-10.172-0.543c-3.168,0.122-13.419-0.204-9.976,1.691c-1.728-0.946-10.871-1.457-5.413-2.176
14
+ c-3.085-0.099-6.072-0.416-8.299-0.041l3.955,0.572c-10.427,0.113-16.087-1.397-22.901,0.169l3.841,0.791
15
+ c-6.233,0.026-11.447,0.084-13.868-1.774l6.407-0.467c-10.337-0.105-16.571-0.078-25.2,0.766l3.074,0.095
16
+ c-11.001,1.659-68.436,2.317-78.583,4.449l4.637,1.484l-8.714,1.064c1.028,0.032,4.265-4.536,5.12-4.061
17
+ C266.426,4.989,169.48,4.654,152.284,3.446c-6.933-0.888-1.216-2.267-1.133-2.49c-8.459,0.406-3.668,1.447-10.851,1.22
18
+ c-1.958-0.284,0.423-1.104,1.528-1.29c-3.151,0.123-6.063-0.412-6.313,0.245c3.93,0.572,2.236,2.304,3.887,3.469l-9.24-0.289
19
+ l0.426-1.103c-2.06-0.064-5.271,2.955-14.34,2.225C100.938,4.728,84.297,4.87,68.9,4.387c0.25-0.663,3.489-1.008,6.737-1.35
20
+ c-2.066-0.065-5.214,0.059-7.109-0.448c3.702,1.231-6.476,0.687-3.575,1.226C53.633,6.359,39.074,3.668,29.09,5.359
21
+ C28.184,7.785,7.149,46.917,7.106,49.814C4.015,49.717,0.94,49.619,0,49.367c0.787,0.695,6.859,1.108,10.095,0.766l0.58-1.545
22
+ c7.439-0.436,1.728,0.949,8.981,0.951c0.369,1.277-6.312,1.45-12.192,1.485c5.292,0.227,10.549,1.229,12.726-0.13
23
+ c4.967,0.603-0.577,1.544,5.407,2.178c4.273-0.312,9.896-1.473,14.789-0.648l-0.091,0.223c11.899,1.488,18.264-1.658,29.135-0.199
24
+ l-1.179,0.407c3.838,0.792,11.431-0.083,18.363,0.803c-1.978-0.285-3.685-1.229,0.492-1.318c7.973,0.917,13.431,0.198,19.253,1.272
25
+ l5.62-1.161c27.793,0.656,137.619,0.509,165.546,0.723l-1.097,0.183c42.555,0.005,129.891,1.392,173.889,0.329
26
+ c6.782,1.322,16.167,1.173,23.256,1.622c-3.938-0.569-2.574-1.419,0.506-1.323c21.617,0.461,1.471-0.825,23.343-1.025
27
+ c25.191-0.766,121.518,1.953,143.85,3.328c12.03-1.629,26.996-0.042,38.773-1.01l-1.19,0.407
28
+ c12.641-0.491,84.114,2.237,98.805,1.81l-1.97-0.288c12.817-0.933,11.045,1.018,21.123,1.782c-1.296-2.046,9.69-3.033,13.875-3.124
29
+ l-0.164,0.44c6.313-0.248,20.629-1.797,31.052-1.914l-0.424,1.102c8.706-1.062,25.035-0.327,31.28-0.351
30
+ c14.274,0.67,36.27,2.926,55.386,1.743l12.29,3.342l1.812-0.288c0,0,20.43-37.86-4.67-46.359l0.418-1.1l-4.987,0.069
31
+ c-5.976-0.633-8.762,0.609-8.339-0.489l8.194,0.258c-6.007-0.41-1.801-0.936,0.504-1.528c-2.509-0.145-4.943-0.312-6.936-0.683
32
+ c-1.191,0.409,0.863,0.473,1.795,0.726c-3.239,0.343-7.757,1.316-11.687,0.748c-6.154-0.196-0.366-1.798-7.546-2.022
33
+ c-37.866-1.417-74.551-3.242-112.841-3.559c-0.863-0.472,0.174-0.439,1.282-0.629c-11.542,0.307-21.791-0.018-32.301,0.323
34
+ c-2.909-0.539-3.696-1.23-4.552-1.704C761.975,4.931,702.238,4.132,701.295,3.878z"/>
35
+ </g>
36
36
  </symbol>
37
37
 
38
- <symbol id="callout2">
39
- <g opacity="0.8">
40
- <path fill="#FFDF99" d="M4.457,85.674c3.209,1.935,8.75,2.127,13.996,2.454C14.416,86.276,10.125,85.468,4.457,85.674z"/>
41
- <path fill="#FFDF99" d="M18.555,88.17c0.019-0.01,0.059-0.018,0.081-0.025l-0.183-0.017C18.493,88.149,18.524,88.153,18.555,88.17z
42
- "/>
43
- <path fill="#FFDF99" d="M1036.333,2.75l-4.317,0.117C1033.462,2.927,1034.933,2.932,1036.333,2.75z"/>
44
- <path fill="#FFDF99" d="M272.613,93.963l0.802-3.198c12.443-0.031,3.62,3.664,15.125,2.886c4.504-4.52,19.11,0.487,23.089-1.911
45
- c-0.09,0.359,5.543,0.501,5.186,1.915c1.727-2.454,5.795-0.565,9.348-1.188c1.289-0.681-0.944-0.735-1.907-1.477l8.14-0.859
46
- c3.183,0.792,3.965,2.238,0.505,2.503c21.269,0.901,123.387,3.351,146.302,2.146c-2.943-1.856-10.018-0.609-12.703-3.528
47
- c6.059-1.631,8.918,0.579,11.589-1.139c2.322,4.342,13.313,1.054,17.895,5.45l1.74-2.453l3.009,1.507
48
- c26.646-2.533,6.09-1.244,29.706-0.642c13.67-0.365,20.168-3.768,27.772-2.504c-1.13-0.026-4.143-1.533-0.602-2.159
49
- c0.602,2.159,9.428-1.538,11.151,0.64c3.469-0.266,14.704,0.022,10.903-2.931c1.906,1.475,11.931,2.086,5.962,3.359
50
- c3.382,0.089,6.657,0.527,9.093-0.122l-4.342-0.827c11.422-0.416,17.645,1.873,25.086-0.788l-4.22-1.178
51
- c6.829-0.183,12.54-0.395,15.219,2.524l-7.012,0.892c11.325-0.065,18.154-0.25,27.595-1.794l-3.369-0.083
52
- c12.028-2.902,74.938-5.252,86.021-8.892l-5.102-2.271l9.531-1.899c-1.127-0.028-4.605,7.354-5.55,6.612
53
- c20.418-0.191,126.628-1.845,145.483-0.302c7.608,1.264,1.366,3.6,1.278,3.958c9.261-0.84,3.998-2.398,11.87-2.197
54
- c2.148,0.41-0.448,1.775-1.656,2.099c3.45-0.269,6.648,0.521,6.913-0.535c-4.313-0.826-2.483-3.635-4.309-5.461l10.126,0.254
55
- l-0.45,1.773c2.258,0.057,5.73-4.847,15.677-3.884c16.781,0.784,35.011,0.181,51.886,0.604c-0.265,1.066-3.808,1.692-7.36,2.312
56
- c2.264,0.057,5.71-0.211,7.794,0.557c-4.074-1.887,7.084-1.245,3.897-2.041c12.364-4.326,28.353-0.351,39.266-3.281
57
- c0.958-3.901,23.428-66.981,23.433-71.618c3.388,0.085,6.757,0.174,7.791,0.556c-0.872-1.095-7.53-1.619-11.07-0.997l-0.612,2.484
58
- c-8.143,0.865-1.906-1.479-9.854-1.318c-0.422-2.036,6.894-2.462,13.335-2.651c-5.8-0.244-11.574-1.73-13.939,0.494
59
- c-5.45-0.851,0.609-2.483-5.955-3.361c-4.677,0.595-10.82,2.579-16.192,1.371l0.097-0.359c-13.058-2.112-19.984,3.067-31.915,0.977
60
- l1.286-0.679c-4.217-1.18-12.521,0.393-20.129-0.869c2.17,0.412,4.055,1.885-0.52,2.121c-8.747-1.288-14.717-0.014-21.11-1.601
61
- l-6.14,1.984C887.041,2.524,766.73,5.24,736.132,5.529l1.198-0.317c-46.618,0.953-142.315,0.707-190.5,3.4
62
- c-7.449-1.962-17.729-1.511-25.501-2.069c4.322,0.822,2.841,2.211-0.535,2.128c-23.688-0.25-1.6,1.354-25.558,2.168
63
- c-27.585,1.794-133.151-0.38-157.637-2.076c-13.155,2.878-29.573,0.677-42.461,2.491l1.298-0.679
64
- c-13.841,1.073-92.181-1.679-108.267-0.663l2.161,0.416c-14.027,1.781-12.114-1.379-23.166-2.374
65
- c1.449,3.244-10.572,5.072-15.155,5.312l0.174-0.708c-6.913,0.54-22.574,3.341-33.989,3.764l0.448-1.773
66
- c-9.522,1.897-27.421,1.088-34.262,1.268c-15.648-0.75-39.776-3.861-60.701-1.537L10.167,9.211L8.188,9.713
67
- c0,0-21.827,61.032,5.794,74.062l-0.441,1.77l5.463-0.224c6.555,0.878,9.589-1.173,9.142,0.595l-8.981-0.228
68
- c6.587,0.521,1.987,1.457-0.529,2.457c2.75,0.174,5.419,0.388,7.608,0.935c1.298-0.681-0.953-0.737-1.978-1.121
69
- c3.543-0.621,8.479-2.28,12.792-1.46c6.745,0.175,0.428,2.867,8.297,3.064c41.503,1.413,81.718,3.503,123.669,3.145
70
- c0.953,0.735-0.184,0.707-1.395,1.036c12.639-0.752,23.871-0.464,35.38-1.246c3.195,0.797,4.067,1.885,5.011,2.622
71
- C206.123,93.65,271.576,93.578,272.613,93.963z"/>
72
- </g>
38
+ <symbol id="callout2">
39
+ <g opacity="0.8">
40
+ <path fill="#FFDF99" d="M4.457,85.674c3.209,1.935,8.75,2.127,13.996,2.454C14.416,86.276,10.125,85.468,4.457,85.674z"/>
41
+ <path fill="#FFDF99" d="M18.555,88.17c0.019-0.01,0.059-0.018,0.081-0.025l-0.183-0.017C18.493,88.149,18.524,88.153,18.555,88.17z
42
+ "/>
43
+ <path fill="#FFDF99" d="M1036.333,2.75l-4.317,0.117C1033.462,2.927,1034.933,2.932,1036.333,2.75z"/>
44
+ <path fill="#FFDF99" d="M272.613,93.963l0.802-3.198c12.443-0.031,3.62,3.664,15.125,2.886c4.504-4.52,19.11,0.487,23.089-1.911
45
+ c-0.09,0.359,5.543,0.501,5.186,1.915c1.727-2.454,5.795-0.565,9.348-1.188c1.289-0.681-0.944-0.735-1.907-1.477l8.14-0.859
46
+ c3.183,0.792,3.965,2.238,0.505,2.503c21.269,0.901,123.387,3.351,146.302,2.146c-2.943-1.856-10.018-0.609-12.703-3.528
47
+ c6.059-1.631,8.918,0.579,11.589-1.139c2.322,4.342,13.313,1.054,17.895,5.45l1.74-2.453l3.009,1.507
48
+ c26.646-2.533,6.09-1.244,29.706-0.642c13.67-0.365,20.168-3.768,27.772-2.504c-1.13-0.026-4.143-1.533-0.602-2.159
49
+ c0.602,2.159,9.428-1.538,11.151,0.64c3.469-0.266,14.704,0.022,10.903-2.931c1.906,1.475,11.931,2.086,5.962,3.359
50
+ c3.382,0.089,6.657,0.527,9.093-0.122l-4.342-0.827c11.422-0.416,17.645,1.873,25.086-0.788l-4.22-1.178
51
+ c6.829-0.183,12.54-0.395,15.219,2.524l-7.012,0.892c11.325-0.065,18.154-0.25,27.595-1.794l-3.369-0.083
52
+ c12.028-2.902,74.938-5.252,86.021-8.892l-5.102-2.271l9.531-1.899c-1.127-0.028-4.605,7.354-5.55,6.612
53
+ c20.418-0.191,126.628-1.845,145.483-0.302c7.608,1.264,1.366,3.6,1.278,3.958c9.261-0.84,3.998-2.398,11.87-2.197
54
+ c2.148,0.41-0.448,1.775-1.656,2.099c3.45-0.269,6.648,0.521,6.913-0.535c-4.313-0.826-2.483-3.635-4.309-5.461l10.126,0.254
55
+ l-0.45,1.773c2.258,0.057,5.73-4.847,15.677-3.884c16.781,0.784,35.011,0.181,51.886,0.604c-0.265,1.066-3.808,1.692-7.36,2.312
56
+ c2.264,0.057,5.71-0.211,7.794,0.557c-4.074-1.887,7.084-1.245,3.897-2.041c12.364-4.326,28.353-0.351,39.266-3.281
57
+ c0.958-3.901,23.428-66.981,23.433-71.618c3.388,0.085,6.757,0.174,7.791,0.556c-0.872-1.095-7.53-1.619-11.07-0.997l-0.612,2.484
58
+ c-8.143,0.865-1.906-1.479-9.854-1.318c-0.422-2.036,6.894-2.462,13.335-2.651c-5.8-0.244-11.574-1.73-13.939,0.494
59
+ c-5.45-0.851,0.609-2.483-5.955-3.361c-4.677,0.595-10.82,2.579-16.192,1.371l0.097-0.359c-13.058-2.112-19.984,3.067-31.915,0.977
60
+ l1.286-0.679c-4.217-1.18-12.521,0.393-20.129-0.869c2.17,0.412,4.055,1.885-0.52,2.121c-8.747-1.288-14.717-0.014-21.11-1.601
61
+ l-6.14,1.984C887.041,2.524,766.73,5.24,736.132,5.529l1.198-0.317c-46.618,0.953-142.315,0.707-190.5,3.4
62
+ c-7.449-1.962-17.729-1.511-25.501-2.069c4.322,0.822,2.841,2.211-0.535,2.128c-23.688-0.25-1.6,1.354-25.558,2.168
63
+ c-27.585,1.794-133.151-0.38-157.637-2.076c-13.155,2.878-29.573,0.677-42.461,2.491l1.298-0.679
64
+ c-13.841,1.073-92.181-1.679-108.267-0.663l2.161,0.416c-14.027,1.781-12.114-1.379-23.166-2.374
65
+ c1.449,3.244-10.572,5.072-15.155,5.312l0.174-0.708c-6.913,0.54-22.574,3.341-33.989,3.764l0.448-1.773
66
+ c-9.522,1.897-27.421,1.088-34.262,1.268c-15.648-0.75-39.776-3.861-60.701-1.537L10.167,9.211L8.188,9.713
67
+ c0,0-21.827,61.032,5.794,74.062l-0.441,1.77l5.463-0.224c6.555,0.878,9.589-1.173,9.142,0.595l-8.981-0.228
68
+ c6.587,0.521,1.987,1.457-0.529,2.457c2.75,0.174,5.419,0.388,7.608,0.935c1.298-0.681-0.953-0.737-1.978-1.121
69
+ c3.543-0.621,8.479-2.28,12.792-1.46c6.745,0.175,0.428,2.867,8.297,3.064c41.503,1.413,81.718,3.503,123.669,3.145
70
+ c0.953,0.735-0.184,0.707-1.395,1.036c12.639-0.752,23.871-0.464,35.38-1.246c3.195,0.797,4.067,1.885,5.011,2.622
71
+ C206.123,93.65,271.576,93.578,272.613,93.963z"/>
72
+ </g>
73
73
  </symbol>
74
74
 
75
- <symbol id="login">
76
- <g>
77
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M44.452,4.788c-0.624,1.477-2.15,2.052-3.564,2.741
78
- c-2.328,2.053-3.835,4.935-4.659,8.496c-1.626-0.051-3.235,0.673-4.657,0c-1.618-6.663,3.376-14.129,7.674-15.896
79
- C41.249-0.695,43.712,2.624,44.452,4.788z"/>
80
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M19.787,0.677c1.042-0.221,0.347,1.295,0.548,1.918
81
- c0.437,3.03,1.061,6.653,2.467,9.044c0.227,0.385,0.817,0.713,1.096,1.096c0.185,0.254,0.095,0.588,0.272,0.822
82
- c0.576,0.749,2.057,1.706,2.468,3.014c-1.096,0.732-2.652,1.004-4.112,1.371c-2.835-2.004-5.333-4.348-7.397-7.125
83
- c-0.353-2.441-2.164-3.835-1.645-6.029c0.18-0.764,0.801-1.074,1.919-1.918c1.256-0.949,2.294-1.725,4.112-2.192
84
- C19.602,0.677,19.694,0.677,19.787,0.677z"/>
85
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M55.688,12.462c1.907,2.112,3.518,4.521,3.837,8.221
86
- c-0.652-0.442-1.755-0.436-2.467-0.821c-1.502,0.106-2.913-0.144-4.11,0c-3.317,0.399-5.38,2.224-7.948,3.289
87
- c-0.81,0.671-1.108-0.92-1.918-1.096c-0.26-0.837-1.335-0.858-1.371-1.918c1.111-0.511,1.669-1.921,2.741-2.74
88
- c0.217-0.166,0.576-0.096,0.822-0.274c0.396-0.29,0.706-0.838,1.096-1.096c0.271-0.179,0.57-0.119,0.823-0.275
89
- c0.45-0.28,1.244-1.004,1.918-1.37c0.486-0.265,1.117-0.267,1.644-0.547C51.786,13.284,53.505,12.204,55.688,12.462z"/>
90
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M19.238,21.506c0.265,2.274-1.146,2.875-1.918,4.112
91
- c-6.76,1.026-12.737-0.917-15.896-4.387c0.231-3.055,1.443-5.133,3.015-6.852c1.092,0.077,1.395,1.298,2.192,1.919
92
- c0.91,0.709,2.462,1.537,3.287,2.74c0.772-0.079,1.297,0.531,1.92,0.822c0.293,0.137,0.692,0.098,1.097,0.274
93
- c0.137,0.061,0.444,0.516,0.548,0.547c0.874,0.276,1.913-0.055,2.74,0.548C17.521,21.03,18.107,21.539,19.238,21.506z"/>
94
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M38.148,21.231c2.61,2.289,4.865,6.283,4.386,10.963
95
- c-0.329,3.209-2.169,5.378-3.563,7.399c-2.965,2.257-7.566,4.425-12.059,2.739c-0.258-0.096-0.501-0.42-0.822-0.547
96
- c-1.63-0.641-3.345-1.98-4.659-3.289c-0.096-0.76-0.526-1.262-0.821-1.918c-0.13-0.287-0.1-0.7-0.274-1.096
97
- c-0.213-0.489-0.706-1.191-0.82-2.467c-0.245-2.641,0.312-4.68,1.095-6.579c0.092-0.22,0.104-0.792,0.273-1.096
98
- c0.353-0.631,1.092-0.975,1.643-1.644c0.245-0.294,0.288-0.799,0.55-1.096c0.721-0.821,2.238-1.63,3.562-2.193
99
- c1.685-0.716,3.069-1.268,5.756-1.096C34.824,19.469,35.935,20.427,38.148,21.231z"/>
100
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M60.895,40.416c-1.266,0.077-1.479-0.897-1.918-1.645
101
- c-2.147-2.136-5.859-3.548-10.141-3.288c-1.141,0.068-2.364,0.533-3.562,0.547c0.066-1.802-0.482-2.988-0.274-4.933
102
- c2.793-1.357,6.563-2.457,10.688-1.37c1.746,0.46,3.818,0.786,4.659,1.37c1.164,0.809,1.526,2.201,2.192,3.289
103
- C62.601,37.005,62.641,39.603,60.895,40.416z"/>
104
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M1.697,39.319c0.047-0.594-0.97-0.125-1.369-0.273
105
- c-0.486-2.246-0.528-6.111,0.549-7.675c0.635-0.555,1.165,0.656,2.19,0.549c1.856,1.147,5.079,1.741,7.949,1.37
106
- c1.899-0.245,3.249-1.227,4.659-1.37c0.94,0.888,1.333,2.319,1.645,3.837c-0.527,1.268-2.226,1.774-3.289,2.192
107
- c-3.09,1.214-7.652,1.42-11.786,1.37C2.064,39.319,1.88,39.319,1.697,39.319z"/>
108
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M22.801,43.156c-0.227,3.337-1.678,5.448-2.467,8.222
109
- c-0.869,0.912-1.552,2.077-2.469,3.289c-0.771,1.024-1.428,2.523-2.738,2.74c-2.155,0.358-4.827-2.103-5.756-3.562
110
- C9.025,53.3,8.512,52.803,8.55,52.2c0.325-1.428,1.951-1.543,3.014-2.191c0.447-0.273,0.91-0.808,1.371-1.096
111
- c0.52-0.328,1.025-0.686,1.644-0.824c0.524-0.754,1.163-1.395,1.919-1.918c0.737-1.729,1.638-3.295,2.74-4.658
112
- c0.052-0.223,0.276-0.274,0.276-0.549C20.862,41.44,21.786,42.345,22.801,43.156z"/>
113
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M55.14,52.2c-0.974,2.772-3.081,4.41-5.755,5.481
114
- c-1.414-4.25-3.629-7.7-6.578-10.415c-1.356-0.652-2.599-1.42-3.562-2.466c0.092-1.826,2.084-1.752,3.015-2.741
115
- C48.218,43.772,52.772,46.896,55.14,52.2z"/>
116
- <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M32.667,45.349c2.851,3.853,3.363,12.228,2.192,18.362
117
- c-3.688,0.125-6.655-0.472-8.771-1.919c0.211-1.115,1.035-2.182,1.645-3.288c0.308-0.559,0.539-1.052,0.822-1.645
118
- c0.466-0.978,1.382-2.825,1.372-4.659c-0.009-1.265-0.645-2.373-0.824-3.838c-0.27-0.216-1.044-1.287-0.548-1.369
119
- C28.92,45.438,30.893,45.495,32.667,45.349z"/>
120
- </g>
75
+ <symbol id="login">
76
+ <g>
77
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M44.452,4.788c-0.624,1.477-2.15,2.052-3.564,2.741
78
+ c-2.328,2.053-3.835,4.935-4.659,8.496c-1.626-0.051-3.235,0.673-4.657,0c-1.618-6.663,3.376-14.129,7.674-15.896
79
+ C41.249-0.695,43.712,2.624,44.452,4.788z"/>
80
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M19.787,0.677c1.042-0.221,0.347,1.295,0.548,1.918
81
+ c0.437,3.03,1.061,6.653,2.467,9.044c0.227,0.385,0.817,0.713,1.096,1.096c0.185,0.254,0.095,0.588,0.272,0.822
82
+ c0.576,0.749,2.057,1.706,2.468,3.014c-1.096,0.732-2.652,1.004-4.112,1.371c-2.835-2.004-5.333-4.348-7.397-7.125
83
+ c-0.353-2.441-2.164-3.835-1.645-6.029c0.18-0.764,0.801-1.074,1.919-1.918c1.256-0.949,2.294-1.725,4.112-2.192
84
+ C19.602,0.677,19.694,0.677,19.787,0.677z"/>
85
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M55.688,12.462c1.907,2.112,3.518,4.521,3.837,8.221
86
+ c-0.652-0.442-1.755-0.436-2.467-0.821c-1.502,0.106-2.913-0.144-4.11,0c-3.317,0.399-5.38,2.224-7.948,3.289
87
+ c-0.81,0.671-1.108-0.92-1.918-1.096c-0.26-0.837-1.335-0.858-1.371-1.918c1.111-0.511,1.669-1.921,2.741-2.74
88
+ c0.217-0.166,0.576-0.096,0.822-0.274c0.396-0.29,0.706-0.838,1.096-1.096c0.271-0.179,0.57-0.119,0.823-0.275
89
+ c0.45-0.28,1.244-1.004,1.918-1.37c0.486-0.265,1.117-0.267,1.644-0.547C51.786,13.284,53.505,12.204,55.688,12.462z"/>
90
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M19.238,21.506c0.265,2.274-1.146,2.875-1.918,4.112
91
+ c-6.76,1.026-12.737-0.917-15.896-4.387c0.231-3.055,1.443-5.133,3.015-6.852c1.092,0.077,1.395,1.298,2.192,1.919
92
+ c0.91,0.709,2.462,1.537,3.287,2.74c0.772-0.079,1.297,0.531,1.92,0.822c0.293,0.137,0.692,0.098,1.097,0.274
93
+ c0.137,0.061,0.444,0.516,0.548,0.547c0.874,0.276,1.913-0.055,2.74,0.548C17.521,21.03,18.107,21.539,19.238,21.506z"/>
94
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M38.148,21.231c2.61,2.289,4.865,6.283,4.386,10.963
95
+ c-0.329,3.209-2.169,5.378-3.563,7.399c-2.965,2.257-7.566,4.425-12.059,2.739c-0.258-0.096-0.501-0.42-0.822-0.547
96
+ c-1.63-0.641-3.345-1.98-4.659-3.289c-0.096-0.76-0.526-1.262-0.821-1.918c-0.13-0.287-0.1-0.7-0.274-1.096
97
+ c-0.213-0.489-0.706-1.191-0.82-2.467c-0.245-2.641,0.312-4.68,1.095-6.579c0.092-0.22,0.104-0.792,0.273-1.096
98
+ c0.353-0.631,1.092-0.975,1.643-1.644c0.245-0.294,0.288-0.799,0.55-1.096c0.721-0.821,2.238-1.63,3.562-2.193
99
+ c1.685-0.716,3.069-1.268,5.756-1.096C34.824,19.469,35.935,20.427,38.148,21.231z"/>
100
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M60.895,40.416c-1.266,0.077-1.479-0.897-1.918-1.645
101
+ c-2.147-2.136-5.859-3.548-10.141-3.288c-1.141,0.068-2.364,0.533-3.562,0.547c0.066-1.802-0.482-2.988-0.274-4.933
102
+ c2.793-1.357,6.563-2.457,10.688-1.37c1.746,0.46,3.818,0.786,4.659,1.37c1.164,0.809,1.526,2.201,2.192,3.289
103
+ C62.601,37.005,62.641,39.603,60.895,40.416z"/>
104
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M1.697,39.319c0.047-0.594-0.97-0.125-1.369-0.273
105
+ c-0.486-2.246-0.528-6.111,0.549-7.675c0.635-0.555,1.165,0.656,2.19,0.549c1.856,1.147,5.079,1.741,7.949,1.37
106
+ c1.899-0.245,3.249-1.227,4.659-1.37c0.94,0.888,1.333,2.319,1.645,3.837c-0.527,1.268-2.226,1.774-3.289,2.192
107
+ c-3.09,1.214-7.652,1.42-11.786,1.37C2.064,39.319,1.88,39.319,1.697,39.319z"/>
108
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M22.801,43.156c-0.227,3.337-1.678,5.448-2.467,8.222
109
+ c-0.869,0.912-1.552,2.077-2.469,3.289c-0.771,1.024-1.428,2.523-2.738,2.74c-2.155,0.358-4.827-2.103-5.756-3.562
110
+ C9.025,53.3,8.512,52.803,8.55,52.2c0.325-1.428,1.951-1.543,3.014-2.191c0.447-0.273,0.91-0.808,1.371-1.096
111
+ c0.52-0.328,1.025-0.686,1.644-0.824c0.524-0.754,1.163-1.395,1.919-1.918c0.737-1.729,1.638-3.295,2.74-4.658
112
+ c0.052-0.223,0.276-0.274,0.276-0.549C20.862,41.44,21.786,42.345,22.801,43.156z"/>
113
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M55.14,52.2c-0.974,2.772-3.081,4.41-5.755,5.481
114
+ c-1.414-4.25-3.629-7.7-6.578-10.415c-1.356-0.652-2.599-1.42-3.562-2.466c0.092-1.826,2.084-1.752,3.015-2.741
115
+ C48.218,43.772,52.772,46.896,55.14,52.2z"/>
116
+ <path fill-rule="evenodd" clip-rule="evenodd" fill="#F5F5F5" d="M32.667,45.349c2.851,3.853,3.363,12.228,2.192,18.362
117
+ c-3.688,0.125-6.655-0.472-8.771-1.919c0.211-1.115,1.035-2.182,1.645-3.288c0.308-0.559,0.539-1.052,0.822-1.645
118
+ c0.466-0.978,1.382-2.825,1.372-4.659c-0.009-1.265-0.645-2.373-0.824-3.838c-0.27-0.216-1.044-1.287-0.548-1.369
119
+ C28.92,45.438,30.893,45.495,32.667,45.349z"/>
120
+ </g>
121
121
  </symbol>
122
122
 
123
- <symbol id="you">
124
- <path d="M28.385,31.29c0,0-2.906-1.117-3.354-7.822c-0.446-6.705,1.677-3.8,1.677-3.8S25.479,6.929,29.949,3.576
125
- C34.419,0.224,37.548,0,40.677,0s13.186,2.235,13.856,12.292s-1.341,19.892-1.341,19.892s-0.224,5.14-2.905,7.822
126
- c0,0-3.353,2.011-1.564,4.023c0,0,3.13,4.47,6.929,5.141s8.046,1.117,11.175,5.364s6.706,8.27,13.634,24.138
127
- s7.376,28.161,6.258,31.513s-2.459,3.799-5.812,3.799s-11.398,0.894-11.398,0.894s0.224,11.846,3.353,20.786
128
- s6.034,22.35,6.034,22.35h-3.353c0,0,0.795,7.471,3.576,19.667c2.905,12.739,4.022,39.783,4.022,39.783s-1.118,16.09-2.905,26.371
129
- s-2.682,57.887-2.682,64.145l-2.905,2.905l-0.224,2.682c0,0-4.246,2.458-2.905,4.693s1.563,1.342,5.811,2.683
130
- s8.047,4.693,4.694,6.481s-13.41,0.446-13.41,0.446s-12.292-5.363-15.868-5.587s-6.705-1.787-6.929-4.693s0.67-7.599,0.894-11.398
131
- s-1.341-12.07,0-15.869s4.47-9.834,4.47-16.092s-0.223-24.138-0.223-25.255s2.234-1.117,0.67-5.588
132
- c-1.564-4.47-3.799-15.645-4.022-22.35s-0.447-12.963-0.447-12.963s-5.363,16.092-7.375,25.256
133
- c-2.012,9.163-4.694,17.656-5.141,20.785c-0.447,3.129-3.354,29.277-3.354,34.865s0.001,15.422,0.672,18.104
134
- c0.67,2.682,0.894,5.14-1.118,7.599s-3.353,5.364-3.353,6.705s1.117,9.388-2.905,9.164s-12.963,0.224-13.856-3.129
135
- c-0.895-3.353-0.447-8.94,0-10.505c0.446-1.564,0.893-2.683,0.223-5.364s-0.67-8.27-0.67-8.27s-2.235-1.563-1.564-6.928
136
- c0.67-5.364,3.129-16.539,3.129-19.892s-0.447-24.809,0.223-29.055c0.671-4.246,2.012-11.398,0.447-18.998
137
- c-1.564-7.599-1.117-22.125-1.117-25.701s-2.012-18.773-3.8-26.82c-1.788-8.045-1.413-19.072,1.341-33.3
138
- c2.683-13.856,2.683-24.361,0.225-31.29c0,0-9.164-25.926-9.164-32.184s2.014-23.019,14.082-29.5c0,0,3.799-0.67,5.141-2.905
139
- c1.341-2.235,1.341-4.247,3.576-4.247c2.234,0,4.693,0,5.141-3.129C28.386,36.208,28.385,31.29,28.385,31.29z"/>
123
+ <symbol id="you">
124
+ <path d="M28.385,31.29c0,0-2.906-1.117-3.354-7.822c-0.446-6.705,1.677-3.8,1.677-3.8S25.479,6.929,29.949,3.576
125
+ C34.419,0.224,37.548,0,40.677,0s13.186,2.235,13.856,12.292s-1.341,19.892-1.341,19.892s-0.224,5.14-2.905,7.822
126
+ c0,0-3.353,2.011-1.564,4.023c0,0,3.13,4.47,6.929,5.141s8.046,1.117,11.175,5.364s6.706,8.27,13.634,24.138
127
+ s7.376,28.161,6.258,31.513s-2.459,3.799-5.812,3.799s-11.398,0.894-11.398,0.894s0.224,11.846,3.353,20.786
128
+ s6.034,22.35,6.034,22.35h-3.353c0,0,0.795,7.471,3.576,19.667c2.905,12.739,4.022,39.783,4.022,39.783s-1.118,16.09-2.905,26.371
129
+ s-2.682,57.887-2.682,64.145l-2.905,2.905l-0.224,2.682c0,0-4.246,2.458-2.905,4.693s1.563,1.342,5.811,2.683
130
+ s8.047,4.693,4.694,6.481s-13.41,0.446-13.41,0.446s-12.292-5.363-15.868-5.587s-6.705-1.787-6.929-4.693s0.67-7.599,0.894-11.398
131
+ s-1.341-12.07,0-15.869s4.47-9.834,4.47-16.092s-0.223-24.138-0.223-25.255s2.234-1.117,0.67-5.588
132
+ c-1.564-4.47-3.799-15.645-4.022-22.35s-0.447-12.963-0.447-12.963s-5.363,16.092-7.375,25.256
133
+ c-2.012,9.163-4.694,17.656-5.141,20.785c-0.447,3.129-3.354,29.277-3.354,34.865s0.001,15.422,0.672,18.104
134
+ c0.67,2.682,0.894,5.14-1.118,7.599s-3.353,5.364-3.353,6.705s1.117,9.388-2.905,9.164s-12.963,0.224-13.856-3.129
135
+ c-0.895-3.353-0.447-8.94,0-10.505c0.446-1.564,0.893-2.683,0.223-5.364s-0.67-8.27-0.67-8.27s-2.235-1.563-1.564-6.928
136
+ c0.67-5.364,3.129-16.539,3.129-19.892s-0.447-24.809,0.223-29.055c0.671-4.246,2.012-11.398,0.447-18.998
137
+ c-1.564-7.599-1.117-22.125-1.117-25.701s-2.012-18.773-3.8-26.82c-1.788-8.045-1.413-19.072,1.341-33.3
138
+ c2.683-13.856,2.683-24.361,0.225-31.29c0,0-9.164-25.926-9.164-32.184s2.014-23.019,14.082-29.5c0,0,3.799-0.67,5.141-2.905
139
+ c1.341-2.235,1.341-4.247,3.576-4.247c2.234,0,4.693,0,5.141-3.129C28.386,36.208,28.385,31.29,28.385,31.29z"/>
140
140
  </symbol>
141
141
 
142
142
  </defs></svg>
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: savagery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-13 00:00:00.000000000 Z
11
+ date: 2014-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ember-rails-assets
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +38,20 @@ dependencies:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: actionview
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rake
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -74,6 +102,7 @@ extensions: []
74
102
  extra_rdoc_files: []
75
103
  files:
76
104
  - ".gitignore"
105
+ - ".rspec"
77
106
  - Gemfile
78
107
  - LICENSE.txt
79
108
  - README.md
@@ -82,12 +111,17 @@ files:
82
111
  - lib/savagery.rb
83
112
  - lib/savagery/engine.rb
84
113
  - lib/savagery/helpers.rb
114
+ - lib/savagery/helpers/rails.rb
85
115
  - lib/savagery/middleware.rb
86
116
  - lib/savagery/spriter.rb
87
117
  - lib/savagery/spriter/image.rb
88
118
  - lib/savagery/version.rb
89
119
  - savagery.gemspec
120
+ - spec/helpers/rails_spec.rb
121
+ - spec/helpers_spec.rb
90
122
  - spec/savagery_spec.rb
123
+ - spec/spec_helper.rb
124
+ - spec/spriter_spec.rb
91
125
  - spec/support/svgs.svg
92
126
  - spec/support/svgs/callout1.svg
93
127
  - spec/support/svgs/callout2.svg
@@ -119,7 +153,11 @@ signing_key:
119
153
  specification_version: 4
120
154
  summary: Ruthlessly sprites SVGs
121
155
  test_files:
156
+ - spec/helpers/rails_spec.rb
157
+ - spec/helpers_spec.rb
122
158
  - spec/savagery_spec.rb
159
+ - spec/spec_helper.rb
160
+ - spec/spriter_spec.rb
123
161
  - spec/support/svgs.svg
124
162
  - spec/support/svgs/callout1.svg
125
163
  - spec/support/svgs/callout2.svg