rubycube 0.3.0 → 0.3.1

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: c136c0dc0b938dbd1ffe392203ae39781e7ebaf1
4
- data.tar.gz: 355531cf507cee9bd3c68a69e7ebe59255ef6773
3
+ metadata.gz: 6a67b0c4bfcd1f828f6f2c976dfacb893fd3447d
4
+ data.tar.gz: 2185c04360ba16d024ba0e3c4369cb27fd6ea75a
5
5
  SHA512:
6
- metadata.gz: 5064b3d52cbe81ee4429a6054d33046b279f0b6fdcb52d1667503d82e17fb6667157c1bc7ace38d7dde154388340c38dac20d2f779c02fd8241070040f56969a
7
- data.tar.gz: 2a6b3e2fa5c0282e5d2529a81c22722e57a427fa9059112fccb6edfb8a4405767ad4b92cf81acb853272cfa283b3552297386aa92ce211ca9f6bf1d76bf6dd8f
6
+ metadata.gz: 54329a70c088a60cefb0dbb060274fa4a3ef0619d2c0363bd08032d3927d0735238e319789049850f45f174f8194d312db0aea409bd02fb8b29de0a9479c655f
7
+ data.tar.gz: 7dad8733970a4a3734a55e37d3a34762112643a6f54ab7094098884d90cc5346fa1e41d00217e5990768b90df0326842ec699f9c548bae113ab4972ba33da723
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'rubycube'
5
- spec.version = '0.3.0'
5
+ spec.version = '0.3.1'
6
6
  spec.author = 'Aditya Godbole'
7
7
  spec.license = 'Artistic 2.0'
8
8
  spec.email = 'code.aa@gdbl.me'
@@ -1,5 +1,6 @@
1
1
  # run as `RUBY_CUBE_TYPECHECK= 1 ruby examples/demo.rb`
2
- require_relative '../lib/cube'
2
+ #require_relative '../lib/cube'
3
+ require 'cube'
3
4
 
4
5
  Adder = Cube.interface {
5
6
  # sum is a method that takes an array of Integer and returns an Integer
@@ -1,5 +1,6 @@
1
1
  ENV['RUBY_CUBE_TYPECHECK'] = "1"
2
- require_relative '../lib/cube'
2
+ #require_relative '../lib/cube'
3
+ require 'cube'
3
4
  EmailNotifierT = Cube.trait do
4
5
  def notify
5
6
  puts "email sent to #{email}"
@@ -13,6 +13,10 @@ module Cube
13
13
  Class.new(mod).extend(CubeMethods)
14
14
  end
15
15
 
16
+ def self.with_super(mod)
17
+ self[Class.new(mod)]
18
+ end
19
+
16
20
  class << self
17
21
  alias_method :from, :[]
18
22
  end
@@ -24,7 +24,14 @@ module Cube
24
24
  conflicts = public_instance_methods & mod.public_instance_methods
25
25
  errors = conflicts.map { |c|
26
26
  meth = mod.instance_method(c)
27
- { meth: meth, owner: meth.owner } unless meth.owner.is_a?(Class)
27
+ if meth.owner.is_a?(Class)
28
+ if meth.owner == mod.superclass
29
+ module_exec { remove_method(c) }
30
+ end
31
+ nil
32
+ else
33
+ { meth: meth, owner: meth.owner }
34
+ end
28
35
  }.compact
29
36
  unless errors.empty?
30
37
  message = "\n" + errors.map { |e| e[:meth].to_s }.join("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubycube
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aditya Godbole
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain:
11
11
  - certs/djberg96_pub.pem
12
- date: 2016-08-05 00:00:00.000000000 Z
12
+ date: 2016-11-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: test-unit
@@ -125,7 +125,6 @@ files:
125
125
  - lib/cube/interfaces.rb
126
126
  - lib/cube/toplevel.rb
127
127
  - lib/cube/traits.rb
128
- - rubycube-0.2.1.gem
129
128
  - test/test_interface.rb
130
129
  homepage: http://github.com/adityagodbole/rubycube
131
130
  licenses:
Binary file