lignite 0.1.0 → 0.1.1

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: 117a99b9d7dd9e1996888156ea7fd21d6bafdd79
4
- data.tar.gz: b68dab7e43889ae0bcd38db4c48b4e4799791ec4
3
+ metadata.gz: 8074515f5e1914a0a56146c77bd2a6119d225e47
4
+ data.tar.gz: bdcddbb0e36882d3c6f13b1886d120777fabc301
5
5
  SHA512:
6
- metadata.gz: c797b4dc8409165e8ca55be88879e36b0fba2c2ec22b6b51227626d396ef8fba5faa86b05408ede78e4015916e9be733ae3d24582b68ff05f2cd016048031bf1
7
- data.tar.gz: 7449887d2f092c3dff6fd4cdd8d4b6398b6b6baf159828f0d5c29811c68b1d12aa350bd0b4a1dd0f75b49654e0d5595e1aa4cc937c3643158ce7c09319f8d9ad
6
+ metadata.gz: 021fdf25c04f71348c3a66c88d18d100e7581f649c13e45838f47e282d2c003e1f959876b6fc0c6532f8a0d9d4e12c0b1e9bce3c3c5457356ab8d15409a0a7fc
7
+ data.tar.gz: c0967937b3ce7af363bc5ee23de719989edc5b3a5f7f957bf3476f52781f2e722497decc0e96d67a1eea5db7058e9ccdcc9222af663df50677fce3dd4e02c977
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2
4
+ - 2.3
5
+ - 2.4
6
+ - 2.5
data/README.md CHANGED
@@ -9,6 +9,21 @@ documents at hand for reference: see the "Advanced Users – Developer Kits"
9
9
  section of the
10
10
  [Mindstorms Downloads](https://www.lego.com/en-us/mindstorms/downloads) page.
11
11
 
12
+ [![Gem Version][GV img]][Gem Version]
13
+ [![Build Status][BS img]][Build Status]
14
+ [![Code Climate][CC img]][Code Climate]
15
+ [![Coverage Status][CS img]][Coverage Status]
16
+
17
+ [Gem Version]: https://rubygems.org/gems/lignite
18
+ [Build Status]: https://travis-ci.org/mvidner/lignite
19
+ [Code Climate]: https://codeclimate.com/github/mvidner/lignite
20
+ [Coverage Status]: https://coveralls.io/r/mvidner/lignite
21
+
22
+ [GV img]: https://badge.fury.io/rb/lignite.png
23
+ [BS img]: https://travis-ci.org/mvidner/lignite.png
24
+ [CC img]: https://codeclimate.com/github/mvidner/lignite.png
25
+ [CS img]: https://coveralls.io/repos/mvidner/lignite/badge.png?branch=master
26
+
12
27
  ## Features
13
28
 
14
29
  - Connect via USB or Bluetooth
@@ -29,7 +44,11 @@ Running the built-in demo program: Connect the brick with a USB cable. Run
29
44
  sudo ev3tool run ../prjs/BrkProg_SAVE/Demo.rpf
30
45
  ```
31
46
 
32
- (The `sudo` is needed to access the USB device.)
47
+ > The `sudo` is needed to access the USB device.
48
+ > With udev you can configure the system to allow access to all users like this:
49
+ >
50
+ > echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0005", MODE="0666"' \
51
+ > | sudo tee /etc/udev/rules.d/99-org-rubygems-lignite-lego-ev3.rules
33
52
 
34
53
  To connect with Bluetooth, [configure the address](data/lignite-btaddr) and
35
54
  pair the device (FIXME: how; troubleshooting?)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/bin/ev3tool CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require "lignite"
3
+ require "fileutils"
3
4
  include Lignite::Bytes
4
5
 
5
6
  def phandles
@@ -55,8 +56,29 @@ def run(name)
55
56
  end
56
57
  end
57
58
 
58
- $sc = Lignite::SystemCommands.new
59
- $dc = Lignite::DirectCommands.new
59
+ def assisted_connection
60
+ Lignite::Connection.create
61
+ rescue => e
62
+ fn = Lignite::Connection::Bluetooth.config_filename
63
+ $stderr.puts <<MSG
64
+ Could not connect to EV3.
65
+ Use a USB cable or configure a Bluetooth address in #{fn.inspect}.
66
+ Details:
67
+ #{e.message}
68
+ MSG
69
+
70
+ template = Lignite::Connection::Bluetooth.template_config_filename
71
+ if !File.exist?(fn) && File.exist?(template)
72
+ FileUtils.mkdir_p(File.dirname(fn))
73
+ FileUtils.install(template, fn)
74
+ $stderr.puts "(A template config file has been copied for your convenience)"
75
+ end
76
+ exit 1
77
+ end
78
+
79
+ conn = assisted_connection
80
+ $sc = Lignite::SystemCommands.new(conn)
81
+ $dc = Lignite::DirectCommands.new(conn)
60
82
 
61
83
  case ARGV[0]
62
84
  when "upload", "ul"
@@ -19,9 +19,17 @@ module Lignite
19
19
  @sock.connect(sockaddr)
20
20
  end
21
21
 
22
+ def self.config_filename
23
+ "#{ENV['HOME']}/.config/lignite-btaddr"
24
+ end
25
+
26
+ def self.template_config_filename
27
+ # TODO: also find it from a gem
28
+ File.expand_path("../../../../data/lignite-btaddr", __FILE__)
29
+ end
30
+
22
31
  def address_from_file
23
- fn = "#{ENV['HOME']}/.config/lignite-btaddr"
24
- s = File.read(fn)
32
+ s = File.read(self.class.config_filename)
25
33
  s.lines.grep(/^[0-9a-fA-F]/).first.strip
26
34
  end
27
35
 
data/lignite.gemspec CHANGED
@@ -18,7 +18,9 @@ TXT
18
18
 
19
19
  # ruby -e 'puts `git ls-files`.lines.map { |f| " %s,\n" % f.strip.inspect }'
20
20
  s.files = [
21
+ ".coveralls.yml",
21
22
  ".gitignore",
23
+ ".travis.yml",
22
24
  "COPYING",
23
25
  "Gemfile",
24
26
  "README.md",
@@ -69,6 +71,7 @@ TXT
69
71
 
70
72
  s.add_development_dependency "coveralls", "~> 0"
71
73
  s.add_development_dependency "simplecov", "~> 0"
74
+ s.add_development_dependency "rake", ">= 0", "< 99"
72
75
  s.add_development_dependency "rspec", "~> 3"
73
76
  s.add_development_dependency "yard", "~> 0"
74
77
  end
data/spec/spec_helper.rb CHANGED
@@ -8,7 +8,7 @@ RSpec.configure do |config|
8
8
  end
9
9
  end
10
10
 
11
- if ENV["COVERAGE"]
11
+ if ENV["COVERAGE"] || ENV["TRAVIS"]
12
12
  require "simplecov"
13
13
  lib = File.expand_path("../../lib", __FILE__)
14
14
  # track all ruby files under src
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lignite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Vidner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-18 00:00:00.000000000 Z
11
+ date: 2018-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: libusb
@@ -52,6 +52,26 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '99'
65
+ type: :development
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '99'
55
75
  - !ruby/object:Gem::Dependency
56
76
  name: rspec
57
77
  requirement: !ruby/object:Gem::Requirement
@@ -89,7 +109,9 @@ executables:
89
109
  extensions: []
90
110
  extra_rdoc_files: []
91
111
  files:
112
+ - ".coveralls.yml"
92
113
  - ".gitignore"
114
+ - ".travis.yml"
93
115
  - COPYING
94
116
  - Gemfile
95
117
  - README.md