leaflet-draw-rails 0.0.1 → 0.1.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 +4 -4
- data/Rakefile +8 -13
- data/lib/leaflet-draw-rails.rb +14 -0
- data/lib/leaflet-draw-rails/browser.rb +43 -0
- data/lib/leaflet-draw-rails/circle.rb +18 -0
- data/lib/leaflet-draw-rails/marker.rb +15 -0
- data/lib/leaflet-draw-rails/polygon.rb +18 -0
- data/lib/leaflet-draw-rails/polyline.rb +18 -0
- data/lib/leaflet-draw-rails/rectangle.rb +18 -0
- data/lib/leaflet-draw-rails/shape.rb +33 -0
- data/lib/leaflet-draw-rails/testing.rb +31 -0
- data/lib/leaflet-draw-rails/version.rb +1 -1
- data/vendor/assets/stylesheets/{leaflet.draw.css → leaflet.draw.css.erb} +3 -3
- metadata +53 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1aa642a71b8ffce8bce3bde613fd4febf946718
|
4
|
+
data.tar.gz: cc91d407e49c400d8a1a12000b10ea9dda79c833
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
data/lib/leaflet-draw-rails.rb
CHANGED
@@ -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,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
|
@@ -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
|
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-
|
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:
|