savagery 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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