leaflet-draw-rails 0.0.1 → 0.1.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: 090c4225c50ddef5a858e995dea07465a9b13f98
4
- data.tar.gz: 01e96502817498c296f20764caaf52a620ee8ed5
3
+ metadata.gz: a1aa642a71b8ffce8bce3bde613fd4febf946718
4
+ data.tar.gz: cc91d407e49c400d8a1a12000b10ea9dda79c833
5
5
  SHA512:
6
- metadata.gz: d7bd26f298285350544b8683e4d86d1dd94e13e33e756d1b0fa0e749f75f2074366ce83795fd6b06542c23946777b063037b590b325610938a79d02ba60c8339
7
- data.tar.gz: 2ae5bd85ff0ca118466bd9b1e485e8bab5d3c574287ddf26d09d7ad5486c0d0ccaa34d7036b4cbdd393ab630c402b1fff8d304ee0c735d9ae999cc9667a1eb2b
6
+ metadata.gz: 8b4b380870bc65f096e231bc78ff7a381fccae76b51f97da01828958c5172b6f0b3a104ea5e0ed4fb847ac61a9ac66cb6486d90edf0938064e49809106e840d0
7
+ data.tar.gz: 2f8d768287e5afd1ee80fa1984a55aa11ed8d8aa40879149f97729a42c88a9b6dc2075d744590496d7147f5415e425b465a86e3800c8a1fdb88fcdb41f386aa6
data/Rakefile CHANGED
@@ -4,20 +4,15 @@ rescue LoadError
4
4
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
5
  end
6
6
 
7
- require 'rdoc/task'
8
-
9
- RDoc::Task.new(:rdoc) do |rdoc|
10
- rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'LeafletDrawRails'
12
- rdoc.options << '--line-numbers'
13
- rdoc.rdoc_files.include('README.rdoc')
14
- rdoc.rdoc_files.include('lib/**/*.rb')
15
- end
16
-
17
-
18
-
7
+ begin
8
+ require 'rspec/core/rake_task'
9
+ require 'cucumber/rake/task'
19
10
 
11
+ RSpec::Core::RakeTask.new(:spec)
12
+ Cucumber::Rake::Task.new
20
13
 
14
+ task default: [ :spec, :cucumber ]
15
+ rescue LoadError
16
+ end
21
17
 
22
18
  Bundler::GemHelper.install_tasks
23
-
@@ -1,9 +1,23 @@
1
1
  require "leaflet-draw-rails/version"
2
+ require "leaflet-draw-rails/testing"
3
+
4
+ if defined? RSpec
5
+ RSpec.configure do |spec|
6
+ spec.include Leaflet::Draw::Rails::Testing
7
+ end
8
+ end
9
+
10
+ if respond_to? :World
11
+ World Leaflet::Draw::Rails::Testing
12
+ end
2
13
 
3
14
  module Leaflet
4
15
  module Draw
5
16
  module Rails
6
17
  class Engine < ::Rails::Engine
18
+ initializer 'leaflet-draw-rails.assets.precompile' do |app|
19
+ app.config.assets.precompile += %w(images/spritesheet.png images/spritesheet-2x.png)
20
+ end
7
21
  end
8
22
  end
9
23
  end
@@ -0,0 +1,43 @@
1
+ module Leaflet::Draw
2
+ module Rails::Testing
3
+ class Browser
4
+ def initialize(el)
5
+ @el = el
6
+ end
7
+
8
+ def move_to(x, y)
9
+ action.move_to(native).move_by(*correct_point(x, y)).perform
10
+ end
11
+
12
+ def click(x, y)
13
+ move_to(x, y)
14
+ action.click_and_hold.perform
15
+ action.release.perform
16
+ end
17
+
18
+ def click_and_hold
19
+ action.click_and_hold.perform
20
+ end
21
+
22
+ def release
23
+ action.release.perform
24
+ end
25
+
26
+ private
27
+
28
+ def correct_point(x, y)
29
+ x_offset = native.size.width / 2
30
+ y_offset = native.size.height / 2
31
+ [ x - x_offset, y - y_offset ]
32
+ end
33
+
34
+ def action
35
+ @el.send(:driver).browser.action
36
+ end
37
+
38
+ def native
39
+ @el.native
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Circle < Shape
8
+
9
+ def draw!
10
+ @browser.move_to(*@points.first)
11
+ @browser.click_and_hold
12
+ @browser.move_to(*@points.second)
13
+ @browser.release
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Marker < Shape
8
+
9
+ def draw!
10
+ @browser.click(*@points)
11
+ end
12
+
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Polygon < Shape
8
+
9
+ def draw!
10
+ @points.each do |x, y|
11
+ @browser.click(x, y)
12
+ end
13
+ @browser.click(*@points.first)
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Polyline < Shape
8
+
9
+ def draw!
10
+ @points.each do |x, y|
11
+ @browser.click(x, y)
12
+ end
13
+ @browser.click(*@points.last)
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'leaflet-draw-rails/shape'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Rectangle < Shape
8
+
9
+ def draw!
10
+ @browser.move_to(*@points.first)
11
+ @browser.click_and_hold
12
+ @browser.move_to(*@points.second)
13
+ @browser.release
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,33 @@
1
+ require 'leaflet-draw-rails/browser'
2
+
3
+ module Leaflet::Draw
4
+
5
+ module Rails::Testing
6
+
7
+ class Shape
8
+
9
+ def initialize(points)
10
+ @points = points
11
+ end
12
+
13
+ def on(map)
14
+ @map = map
15
+ @browser = Browser.new(@map)
16
+
17
+ choose_tool!
18
+ draw!
19
+ end
20
+
21
+ private
22
+
23
+ def choose_tool!
24
+ @map.find(tool_selector).click
25
+ end
26
+
27
+ def tool_selector
28
+ class_name = self.class.to_s.split('::').last
29
+ ".leaflet-draw-draw-#{ class_name.downcase }"
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,31 @@
1
+ require 'leaflet-draw-rails/marker'
2
+ require 'leaflet-draw-rails/polyline'
3
+ require 'leaflet-draw-rails/polygon'
4
+ require 'leaflet-draw-rails/rectangle'
5
+ require 'leaflet-draw-rails/circle'
6
+
7
+ module Leaflet
8
+ module Draw
9
+ module Rails::Testing
10
+ def leaflet_draw_marker(points)
11
+ Marker.new(points)
12
+ end
13
+
14
+ def leaflet_draw_polyline(points)
15
+ Polyline.new(points)
16
+ end
17
+
18
+ def leaflet_draw_polygon(points)
19
+ Polygon.new(points)
20
+ end
21
+
22
+ def leaflet_draw_rectangle(points)
23
+ Rectangle.new(points)
24
+ end
25
+
26
+ def leaflet_draw_circle(points)
27
+ Circle.new(points)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -1,7 +1,7 @@
1
1
  module Leaflet
2
2
  module Draw
3
3
  module Rails
4
- VERSION = "0.0.1"
4
+ VERSION = "0.1.0"
5
5
  end
6
6
  end
7
7
  end
@@ -23,12 +23,12 @@
23
23
  }
24
24
 
25
25
  .leaflet-draw-toolbar a {
26
- background-image: url('images/spritesheet.png');
26
+ background-image: url(<%= asset_path 'images/spritesheet.png' %>);
27
27
  background-repeat: no-repeat;
28
28
  }
29
29
 
30
30
  .leaflet-retina .leaflet-draw-toolbar a {
31
- background-image: url('images/spritesheet-2x.png');
31
+ background-image: url(<%= asset_path 'images/spritesheet-2x.png' %>);
32
32
  background-size: 270px 30px;
33
33
  }
34
34
 
@@ -300,4 +300,4 @@
300
300
 
301
301
  .leaflet-oldie .leaflet-draw-toolbar {
302
302
  border: 1px solid #999;
303
- }
303
+ }
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leaflet-draw-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Igor Drozdov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-05 00:00:00.000000000 Z
11
+ date: 2015-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>'
18
- - !ruby/object:Gem::Version
19
- version: '3'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>'
25
- - !ruby/object:Gem::Version
26
- version: '3'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: sqlite3
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +80,48 @@ dependencies:
94
80
  - - '>='
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: cucumber-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 1.4.2
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 1.4.2
111
+ - !ruby/object:Gem::Dependency
112
+ name: database_cleaner
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 1.4.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 1.4.1
97
125
  description:
98
126
  email:
99
127
  - iharthrush@gmail.com
@@ -101,12 +129,20 @@ executables: []
101
129
  extensions: []
102
130
  extra_rdoc_files: []
103
131
  files:
132
+ - lib/leaflet-draw-rails/browser.rb
133
+ - lib/leaflet-draw-rails/circle.rb
134
+ - lib/leaflet-draw-rails/marker.rb
135
+ - lib/leaflet-draw-rails/polygon.rb
136
+ - lib/leaflet-draw-rails/polyline.rb
137
+ - lib/leaflet-draw-rails/rectangle.rb
138
+ - lib/leaflet-draw-rails/shape.rb
139
+ - lib/leaflet-draw-rails/testing.rb
104
140
  - lib/leaflet-draw-rails/version.rb
105
141
  - lib/leaflet-draw-rails.rb
106
142
  - vendor/assets/images/images/spritesheet-2x.png
107
143
  - vendor/assets/images/images/spritesheet.png
108
144
  - vendor/assets/javascripts/leaflet.draw.js
109
- - vendor/assets/stylesheets/leaflet.draw.css
145
+ - vendor/assets/stylesheets/leaflet.draw.css.erb
110
146
  - MIT-LICENSE
111
147
  - Rakefile
112
148
  homepage: