rb-inotify 0.9.8 → 0.9.9

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: b8bfbc849234644754ef17ee3c69eb44712c59a6
4
- data.tar.gz: fb589b6683906a14828beda595056d5ce5a129fe
3
+ metadata.gz: 2e68a4e4d80d820bab261f4cd6742fc858171c4b
4
+ data.tar.gz: 55307ef87345ba46c926335d00e2307e5a835333
5
5
  SHA512:
6
- metadata.gz: d7e8ae116d90c6ff2dd1e56dc9ad132f05833f67a2629284759f1086a7fc7eeb28a0193d82edd061b8c7c245d3193da41ce3c015030df52199fb3bde0ef2ad62
7
- data.tar.gz: 1fc4a3584ece0192eb2a90e061bf9eb7274e6e746373dd01942c17f16b728935461f6fce894346a9c61aee68dd2abfb0c35c1c4766fe7353e7ff0e9c0306d272
6
+ metadata.gz: 3d40f287530b9a2dabf0ef6411eb0d287422a827c21f47a67f801e92184c39830b45b204ea775062579f398737d6c39a8b7343f691f75244db8b9149014a8eab
7
+ data.tar.gz: e34970a92bb2708a5366f46eca2b65cd7fc8f58ddc1234dda075663ea7404e9f909f1888383c395bb830999e63fbcf6ba3bbe63b653f63ccfa56f4a4bc379f0b
@@ -0,0 +1,19 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ .tags*
19
+ .rspec_status
@@ -0,0 +1,21 @@
1
+ language: ruby
2
+ sudo: false
3
+ dist: trusty
4
+ cache: bundler
5
+ rvm:
6
+ - 2.0
7
+ - 2.1
8
+ - 2.2
9
+ - 2.3
10
+ - 2.4
11
+ - jruby-head
12
+ - ruby-head
13
+ - jruby-9.1.8.0
14
+ - jruby-head
15
+ - rbx-3
16
+ matrix:
17
+ allow_failures:
18
+ - rvm: ruby-head
19
+ - rvm: jruby-head
20
+ - rvm: rbx-3
21
+ fast_finish: true
data/Gemfile ADDED
@@ -0,0 +1,16 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in utopia.gemspec
4
+ gemspec
5
+
6
+ group :development do
7
+ gem 'pry'
8
+ gem 'pry-coolline'
9
+
10
+ gem 'tty-prompt'
11
+ end
12
+
13
+ group :test do
14
+ gem 'simplecov'
15
+ gem 'coveralls', require: false
16
+ end
data/README.md CHANGED
@@ -6,6 +6,10 @@ It uses the [FFI](http://wiki.github.com/ffi/ffi) gem to avoid having to compile
6
6
 
7
7
  [API documentation is available on rdoc.info](http://rdoc.info/projects/nex3/rb-inotify).
8
8
 
9
+ [![Build Status](https://secure.travis-ci.org/guard/rb-inotify.svg)](http://travis-ci.org/guard/rb-inotify)
10
+ [![Code Climate](https://codeclimate.com/github/guard/rb-inotify.svg)](https://codeclimate.com/github/guard/rb-inotify)
11
+ [![Coverage Status](https://coveralls.io/repos/guard/rb-inotify/badge.svg)](https://coveralls.io/r/guard/rb-inotify)
12
+
9
13
  ## Basic Usage
10
14
 
11
15
  The API is similar to the inotify C API, but with a more Rubyish feel.
@@ -64,3 +68,36 @@ It can even be used with EventMachine:
64
68
  Unfortunately, this currently doesn't work under JRuby.
65
69
  JRuby currently doesn't use native file descriptors for the IO object,
66
70
  so we can't use the notifier's file descriptor as a stand-in.
71
+
72
+ ## Contributing
73
+
74
+ 1. Fork it
75
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
76
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
77
+ 4. Push to the branch (`git push origin my-new-feature`)
78
+ 5. Create new Pull Request
79
+
80
+ ## License
81
+
82
+ Released under the MIT license.
83
+
84
+ Copyright, 2009, by Nathan Weizenbaum.
85
+ Copyright, 2017, by [Samuel G. D. Williams](http://www.codeotaku.com/samuel-williams).
86
+
87
+ Permission is hereby granted, free of charge, to any person obtaining a copy
88
+ of this software and associated documentation files (the "Software"), to deal
89
+ in the Software without restriction, including without limitation the rights
90
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
91
+ copies of the Software, and to permit persons to whom the Software is
92
+ furnished to do so, subject to the following conditions:
93
+
94
+ The above copyright notice and this permission notice shall be included in
95
+ all copies or substantial portions of the Software.
96
+
97
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
98
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
99
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
100
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
101
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
102
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
103
+ THE SOFTWARE.
data/Rakefile CHANGED
@@ -1,54 +1,16 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ require "bundler/gem_tasks"
2
+ require 'rake/testtask'
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "rb-inotify"
8
- gem.summary = "A Ruby wrapper for Linux's inotify, using FFI"
9
- gem.description = gem.summary
10
- gem.email = "nex342@gmail.com"
11
- gem.homepage = "http://github.com/nex3/rb-inotify"
12
- gem.authors = ["Nathan Weizenbaum"]
13
- gem.add_dependency "ffi", ">= 0.5.0"
14
- gem.add_development_dependency "yard", ">= 0.4.0"
15
- end
16
- Jeweler::GemcutterTasks.new
17
- rescue LoadError
18
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'test'
19
6
  end
20
7
 
21
- task(:permissions) {sh %{chmod -R a+r .}}
22
- Rake::Task[:build].prerequisites.unshift('permissions')
8
+ desc "Run tests"
9
+ task :default => :test
23
10
 
24
- module Jeweler::VersionHelper::PlaintextExtension
25
- def write_with_inotify
26
- write_without_inotify
27
- filename = File.join(File.dirname(__FILE__), "lib/rb-inotify.rb")
28
- text = File.read(filename)
29
- File.open(filename, 'w') do |f|
30
- f.write text.gsub(/^( VERSION = ).*/, '\1' + [major, minor, patch].inspect)
31
- end
32
- end
33
- alias_method :write_without_inotify, :write
34
- alias_method :write, :write_with_inotify
35
- end
36
-
37
- class Jeweler::Commands::Version::Base
38
- def commit_version_with_inotify
39
- return unless self.repo
40
- self.repo.add(File.join(File.dirname(__FILE__), "lib/rb-inotify.rb"))
41
- commit_version_without_inotify
42
- end
43
- alias_method :commit_version_without_inotify, :commit_version
44
- alias_method :commit_version, :commit_version_with_inotify
45
- end
46
-
47
- begin
48
- require 'yard'
49
- YARD::Rake::YardocTask.new
50
- rescue LoadError
51
- task :yardoc do
52
- abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
53
- end
11
+ task :console do
12
+ require 'rb-inotify'
13
+ require 'pry'
14
+
15
+ binding.pry
54
16
  end
@@ -1,3 +1,4 @@
1
+ require 'rb-inotify/version'
1
2
  require 'rb-inotify/native'
2
3
  require 'rb-inotify/native/flags'
3
4
  require 'rb-inotify/notifier'
@@ -11,8 +12,4 @@ require 'rb-inotify/errors'
11
12
  # * {Watcher} -- A watcher for a single file or directory
12
13
  # * {Event} -- An filesystem event notification
13
14
  module INotify
14
- # An array containing the version number of rb-inotify.
15
- # The numbers in the array are the major, minor, and patch versions,
16
- # respectively.
17
- VERSION = [0, 9, 8]
18
15
  end
@@ -28,6 +28,7 @@ module INotify
28
28
  attach_function :inotify_init, [], :int
29
29
  attach_function :inotify_add_watch, [:int, :string, :uint32], :int
30
30
  attach_function :inotify_rm_watch, [:int, :uint32], :int
31
+ attach_function :fpathconf, [:int, :int], :long
31
32
 
32
33
  attach_function :read, [:int, :pointer, :size_t], :ssize_t
33
34
  attach_function :close, [:int], :int
@@ -65,6 +65,11 @@ module INotify
65
65
  # Event occurred against dir.
66
66
  IN_ISDIR = 0x40000000
67
67
 
68
+ ## fpathconf Macros
69
+
70
+ # returns the maximum length of a filename in the directory path or fd that the process is allowed to create. The corresponding macro is _POSIX_NAME_MAX.
71
+ PC_NAME_MAX = 3
72
+
68
73
  # Converts a list of flags to the bitmask that the C API expects.
69
74
  #
70
75
  # @param flags [Array<Symbol>]
@@ -239,7 +239,10 @@ module INotify
239
239
  #
240
240
  # @see #run
241
241
  def process
242
- read_events.each {|event| event.callback!}
242
+ read_events.each do |event|
243
+ event.callback!
244
+ event.flags.include?(:ignored) && event.notifier.watchers.delete(event.watcher_id)
245
+ end
243
246
  end
244
247
 
245
248
  # Close the notifier.
@@ -268,7 +271,7 @@ module INotify
268
271
  #
269
272
  # {#run} or {#process} are ususally preferable to calling this directly.
270
273
  def read_events
271
- size = 64 * Native::Event.size
274
+ size = Native::Event.size + Native.fpathconf(fd, Native::Flags::PC_NAME_MAX) + 1
272
275
  tries = 1
273
276
 
274
277
  begin
@@ -302,10 +305,14 @@ module INotify
302
305
  # Use Ruby's readpartial if possible, to avoid blocking other threads.
303
306
  begin
304
307
  return to_io.readpartial(size) if self.class.supports_ruby_io?
305
- rescue Errno::EBADF
308
+ rescue Errno::EBADF, IOError
306
309
  # If the IO has already been closed, reading from it will cause
307
- # Errno::EBADF.
310
+ # Errno::EBADF. In JRuby it can raise IOError with invalid or
311
+ # closed file descriptor.
308
312
  return nil
313
+ rescue IOError => ex
314
+ return nil if ex.message =~ /stream closed/
315
+ raise
309
316
  end
310
317
 
311
318
  tries = 0
@@ -0,0 +1,24 @@
1
+ # Copyright, 2012, by Natalie Weizenbaum.
2
+ # Copyright, 2017, by Samuel G. D. Williams. <http://www.codeotaku.com>
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ # of this software and associated documentation files (the "Software"), to deal
6
+ # in the Software without restriction, including without limitation the rights
7
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ # copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in
12
+ # all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ # THE SOFTWARE.
21
+
22
+ module INotify
23
+ VERSION = '0.9.9'
24
+ end
@@ -1,54 +1,27 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
5
- # stub: rb-inotify 0.9.8 ruby lib
2
+ require_relative 'lib/rb-inotify/version'
6
3
 
7
- Gem::Specification.new do |s|
8
- s.name = "rb-inotify"
9
- s.version = "0.9.8"
4
+ Gem::Specification.new do |spec|
5
+ spec.name = 'rb-inotify'
6
+ spec.version = INotify::VERSION
7
+ spec.platform = Gem::Platform::RUBY
10
8
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Nathan Weizenbaum"]
14
- s.date = "2017-01-26"
15
- s.description = "A Ruby wrapper for Linux's inotify, using FFI"
16
- s.email = "nex342@gmail.com"
17
- s.extra_rdoc_files = [
18
- "README.md"
19
- ]
20
- s.files = [
21
- ".yardopts",
22
- "MIT-LICENSE",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/rb-inotify.rb",
27
- "lib/rb-inotify/errors.rb",
28
- "lib/rb-inotify/event.rb",
29
- "lib/rb-inotify/native.rb",
30
- "lib/rb-inotify/native/flags.rb",
31
- "lib/rb-inotify/notifier.rb",
32
- "lib/rb-inotify/watcher.rb",
33
- "rb-inotify.gemspec"
34
- ]
35
- s.homepage = "http://github.com/nex3/rb-inotify"
36
- s.rubygems_version = "2.4.8"
37
- s.summary = "A Ruby wrapper for Linux's inotify, using FFI"
9
+ spec.summary = 'A Ruby wrapper for Linux inotify, using FFI'
10
+ spec.authors = ['Natalie Weizenbaum', 'Samuel Williams']
11
+ spec.email = ['nex342@gmail.com', 'samuel.williams@oriontransfer.co.nz']
12
+ spec.homepage = 'https://github.com/guard/rb-inotify'
13
+ spec.licenses = ['MIT']
38
14
 
39
- if s.respond_to? :specification_version then
40
- s.specification_version = 4
41
-
42
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
- s.add_runtime_dependency(%q<ffi>, [">= 0.5.0"])
44
- s.add_development_dependency(%q<yard>, [">= 0.4.0"])
45
- else
46
- s.add_dependency(%q<ffi>, [">= 0.5.0"])
47
- s.add_dependency(%q<yard>, [">= 0.4.0"])
48
- end
49
- else
50
- s.add_dependency(%q<ffi>, [">= 0.5.0"])
51
- s.add_dependency(%q<yard>, [">= 0.4.0"])
52
- end
15
+ spec.files = `git ls-files`.split($/)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.required_ruby_version = '>= 2.0.0'
21
+
22
+ spec.add_dependency "ffi", "~> 1.0"
23
+
24
+ spec.add_development_dependency "rspec", "~> 3.4.0"
25
+ spec.add_development_dependency "bundler", "~> 1.3"
26
+ spec.add_development_dependency "rake"
53
27
  end
54
-
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe INotify do
4
+ describe "QueueOverflowError" do
5
+ it "exists" do
6
+ expect(INotify::QueueOverflowError).to be_truthy
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe INotify do
4
+ describe "version" do
5
+ it "exists" do
6
+ expect(INotify::VERSION).to be_truthy
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,29 @@
1
+
2
+ if ENV['COVERAGE'] || ENV['TRAVIS']
3
+ begin
4
+ require 'simplecov'
5
+
6
+ SimpleCov.start do
7
+ add_filter "/spec/"
8
+ end
9
+
10
+ if ENV['TRAVIS']
11
+ require 'coveralls'
12
+ Coveralls.wear!
13
+ end
14
+ rescue LoadError
15
+ warn "Could not load simplecov: #{$!}"
16
+ end
17
+ end
18
+
19
+ require "bundler/setup"
20
+ require "rb-inotify"
21
+
22
+ RSpec.configure do |config|
23
+ # Enable flags like --only-failures and --next-failure
24
+ config.example_status_persistence_file_path = ".rspec_status"
25
+
26
+ config.expect_with :rspec do |c|
27
+ c.syntax = :expect
28
+ end
29
+ end
metadata CHANGED
@@ -1,65 +1,101 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rb-inotify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.8
4
+ version: 0.9.9
5
5
  platform: ruby
6
6
  authors:
7
- - Nathan Weizenbaum
7
+ - Natalie Weizenbaum
8
+ - Samuel Williams
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2017-01-26 00:00:00.000000000 Z
12
+ date: 2017-06-16 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: ffi
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - ">="
18
+ - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: 0.5.0
20
+ version: '1.0'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - ">="
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '1.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: rspec
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 3.4.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
25
40
  - !ruby/object:Gem::Version
26
- version: 0.5.0
41
+ version: 3.4.0
27
42
  - !ruby/object:Gem::Dependency
28
- name: yard
43
+ name: bundler
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.3'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.3'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
29
58
  requirement: !ruby/object:Gem::Requirement
30
59
  requirements:
31
60
  - - ">="
32
61
  - !ruby/object:Gem::Version
33
- version: 0.4.0
62
+ version: '0'
34
63
  type: :development
35
64
  prerelease: false
36
65
  version_requirements: !ruby/object:Gem::Requirement
37
66
  requirements:
38
67
  - - ">="
39
68
  - !ruby/object:Gem::Version
40
- version: 0.4.0
41
- description: A Ruby wrapper for Linux's inotify, using FFI
42
- email: nex342@gmail.com
69
+ version: '0'
70
+ description:
71
+ email:
72
+ - nex342@gmail.com
73
+ - samuel.williams@oriontransfer.co.nz
43
74
  executables: []
44
75
  extensions: []
45
- extra_rdoc_files:
46
- - README.md
76
+ extra_rdoc_files: []
47
77
  files:
78
+ - ".gitignore"
79
+ - ".travis.yml"
48
80
  - ".yardopts"
49
- - MIT-LICENSE
81
+ - Gemfile
50
82
  - README.md
51
83
  - Rakefile
52
- - VERSION
53
84
  - lib/rb-inotify.rb
54
85
  - lib/rb-inotify/errors.rb
55
86
  - lib/rb-inotify/event.rb
56
87
  - lib/rb-inotify/native.rb
57
88
  - lib/rb-inotify/native/flags.rb
58
89
  - lib/rb-inotify/notifier.rb
90
+ - lib/rb-inotify/version.rb
59
91
  - lib/rb-inotify/watcher.rb
60
92
  - rb-inotify.gemspec
61
- homepage: http://github.com/nex3/rb-inotify
62
- licenses: []
93
+ - spec/rb-inotify/errors_spec.rb
94
+ - spec/rb-inotify_spec.rb
95
+ - spec/spec_helper.rb
96
+ homepage: https://github.com/guard/rb-inotify
97
+ licenses:
98
+ - MIT
63
99
  metadata: {}
64
100
  post_install_message:
65
101
  rdoc_options: []
@@ -69,7 +105,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
105
  requirements:
70
106
  - - ">="
71
107
  - !ruby/object:Gem::Version
72
- version: '0'
108
+ version: 2.0.0
73
109
  required_rubygems_version: !ruby/object:Gem::Requirement
74
110
  requirements:
75
111
  - - ">="
@@ -77,8 +113,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
113
  version: '0'
78
114
  requirements: []
79
115
  rubyforge_project:
80
- rubygems_version: 2.4.8
116
+ rubygems_version: 2.6.10
81
117
  signing_key:
82
118
  specification_version: 4
83
- summary: A Ruby wrapper for Linux's inotify, using FFI
84
- test_files: []
119
+ summary: A Ruby wrapper for Linux inotify, using FFI
120
+ test_files:
121
+ - spec/rb-inotify/errors_spec.rb
122
+ - spec/rb-inotify_spec.rb
123
+ - spec/spec_helper.rb
@@ -1,20 +0,0 @@
1
- Copyright (c) 2009 Nathan Weizenbaum
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.9.8