tangle 0.4.0 → 0.4.2

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/lib/tangle/mixin.rb +9 -4
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 46af55dc3f6a3cb2ffc754776a93209e02d647cac2aa824729b3816665b344a6
4
- data.tar.gz: b128f9e8ffa5c608ffc2b9a12946c772886b4bdec661d51ac542c9e25346e890
3
+ metadata.gz: 7619bcb426ea03ee0855fbc4d0f61d03fcd24b325a1c2a370adee95b74d483d0
4
+ data.tar.gz: cfa7d21bcce74e0b9931e4b581ad0fdff593b531b7f075db3ee25a92e1044ade
5
5
  SHA512:
6
- metadata.gz: 5cd121de93316e33175f8184a7092bce69e85c6865b75826da6fd741997b583004b53167679cf098e9e2cb9023809e725d7ab9528c61d32cfeef02e1a589d7a6
7
- data.tar.gz: 685ce03d7f320333b527c22582a46aedddcf2ab7bd0eec1351aa49b5ec9c319130b2d3ccd4348558844ebda593ab5e8403765711f235e85730b9c4eca96fc424
6
+ metadata.gz: '028079643873be046dce5457dfc90cc7c7215bfbf78a8cfe894d47bcdf818218fcae2b7ad8bf0837c135be26377b8b5d5d2849dfba6e640b3443a47000f5a625'
7
+ data.tar.gz: 3c254ca0cb877f0b6871778782bb91d3499967e8d5256963d8b487b3d7c042f7aa61fd078484607bbdfbd85eba9601b4e3e68854fce24c47411e1cb6f8791c5f
data/README.md CHANGED
@@ -7,12 +7,13 @@ Tangle aims to untangle your graphs, by providing a set of classes for managing
7
7
  **Graph types**:
8
8
  * SimpleGraph
9
9
  * MultiGraph
10
- * ~~DiGraph~~
10
+ * DiGraph
11
11
  * ~~DAG~~
12
12
  * ~~Tree~~
13
13
 
14
14
  **Feature mixins**:
15
15
  * Connectedness
16
+ * Ancestry
16
17
  * ~~Coloring~~
17
18
 
18
19
  ## Installation
data/lib/tangle/mixin.rb CHANGED
@@ -10,12 +10,17 @@ module Tangle
10
10
  private
11
11
 
12
12
  def initialize_mixins(mixins = nil)
13
- klass = self.class.name[/[^:]+$/].to_sym
14
- @mixins = mixins unless mixins.nil?
15
- mixins ||= @graph.mixins unless @graph.nil?
13
+ case klass = self.class.name[/[^:]+$/].to_sym
14
+ when :Graph
15
+ @mixins = mixins
16
+ else
17
+ mixins = @graph.mixins unless @graph.nil?
18
+ end
16
19
 
17
- return if mixins.nil?
20
+ extend_with_mixins(klass, mixins) unless mixins.nil?
21
+ end
18
22
 
23
+ def extend_with_mixins(klass, mixins)
19
24
  mixins.each do |mixin|
20
25
  extend(mixin.const_get(klass)) if mixin.const_defined?(klass)
21
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tangle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Calle Englund