dedalus 0.1.2 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e0478287f743dff77183fa294339e63c6391ae63
4
- data.tar.gz: 004fd7192a547643a9cc859e8d64b7b4a4c7cd5c
3
+ metadata.gz: a9022025c864310b9328e3e4c1a9dc4735cb884b
4
+ data.tar.gz: 0e102ca23e119b7f3a30c31a34cd1f00e4690ec9
5
5
  SHA512:
6
- metadata.gz: b7c1239ab8bb26509b2dcd82bdca36211911c3ea7bec1900e71d30fec676cbd5f6e3029a289597c9513aaa5e01a151dac19cd9004897d81ad9d469beafbc0f13
7
- data.tar.gz: e7c517a6f3d4eff49dffa45aded6b581949e9dc0fb859b6a793c2c1f842e18ad36be7d9637b018b03db8233b9f0d8fd52687d7b0b0803a2095b1e2ffe9e3ede3
6
+ metadata.gz: 9fda3c838779db5ed86226142b99fb6eacd6799c228e7452146dc29a8f60b63799d73f2721761be4ceff8f8e5bb685131ad6dd1c4acc644963679fdc452e2a13
7
+ data.tar.gz: 7318c2c200a98b671915659d78da4907938ff89c6ff1ebf520dd7b319e020370b326c72460449afdb290e547beeff6ef03ee062b8bb4402ab608bcaa58b9527c
data/bin/dedalus CHANGED
@@ -8,6 +8,7 @@ if File.directory?(File.join(root,'.git'))
8
8
  require 'dedalus'
9
9
  Dedalus::PatternLibrary::Application.kickstart!({
10
10
  setup: {
11
+ library_name: "Dedalus Pattern Library",
11
12
  module_to_search: Dedalus::PatternLibrary
12
13
  }
13
14
  })
@@ -1,8 +1,8 @@
1
1
  module Dedalus
2
2
  module Elements
3
3
  class Heading < Text
4
- def scale
5
- @scale ||= 2.4
4
+ def font
5
+ big_font
6
6
  end
7
7
 
8
8
  def padding
@@ -3,7 +3,6 @@ module Dedalus
3
3
  class Text < Dedalus::Atom
4
4
  attr_accessor :text, :scale, :padding
5
5
 
6
-
7
6
  def render(*)
8
7
  x,y = *position
9
8
  font.draw(text, x + padding, y + padding, ZOrder::Text, self.scale, self.scale)
@@ -7,6 +7,14 @@ module Dedalus
7
7
  @active_view ||= nil
8
8
  end
9
9
 
10
+ class FontRepository
11
+ def self.get_font(size: 20)
12
+ @fonts ||= {}
13
+ @fonts[size] ||= Gosu::Font.new(size)
14
+ @fonts[size]
15
+ end
16
+ end
17
+
10
18
  class Element
11
19
  attr_accessor :position
12
20
 
@@ -41,7 +49,15 @@ module Dedalus
41
49
  end
42
50
 
43
51
  def font
44
- view.font
52
+ FontRepository.get_font(size: 20)
53
+ end
54
+
55
+ def big_font
56
+ FontRepository.get_font(size: 36)
57
+ end
58
+
59
+ def huge_font
60
+ FontRepository.get_font(size: 120)
45
61
  end
46
62
 
47
63
  def window
@@ -9,16 +9,16 @@ module Dedalus
9
9
  view.click
10
10
  end
11
11
 
12
- def setup(module_to_search:)
13
- create_library(module_to_search)
12
+ def setup(module_to_search:, library_name:)
13
+ create_library(name: library_name, module_to_search: module_to_search)
14
14
  end
15
15
 
16
16
  def find_descendants_of(klass, module_to_search)
17
17
  ObjectSpace.each_object(Class).select { |k| k < klass && find_descendants_of(k, module_to_search).count.zero? && k.name.deconstantize == module_to_search.name }
18
18
  end
19
19
 
20
- def create_library(module_to_search)
21
- library = Library.create(name: "Dedalus Pattern Library")
20
+ def create_library(module_to_search:, name:)
21
+ library = Library.create(name: name)
22
22
 
23
23
  atom_section = library.create_library_section(
24
24
  name: "Atoms",
@@ -54,15 +54,19 @@ module Dedalus
54
54
  name: "Templates",
55
55
  icon: :hive,
56
56
  color: 'blue',
57
- about: "Assembled screens with placeholders"})
58
-
59
- template_section.create_library_item({
60
- name: "Library Template",
61
- item_class_name: 'Dedalus::PatternLibrary::ApplicationTemplate',
62
- description: "ui library app template",
63
- example_data: ApplicationTemplate.example_data
57
+ about: "Assembled screens with placeholders"
64
58
  })
65
59
 
60
+ template_classes = find_descendants_of(Dedalus::Template, module_to_search)
61
+ template_section.build_items_from_classes(template_classes, kind: 'template')
62
+
63
+ # template_section.create_library_item({
64
+ # name: "Library Template",
65
+ # item_class_name: 'Dedalus::PatternLibrary::ApplicationTemplate',
66
+ # description: "ui library app template",
67
+ # example_data: ApplicationTemplate.example_data
68
+ # })
69
+
66
70
  # just manually create a view from models for now...
67
71
  library_data = serialize_library(library)
68
72
  library_view = LibraryView.create(library_data)
@@ -0,0 +1,9 @@
1
+ module Dedalus
2
+ module PatternLibrary
3
+ class HugeText < Dedalus::Elements::Heading
4
+ def font
5
+ huge_font
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Dedalus
2
+ module PatternLibrary
3
+ class LargeText < Dedalus::Elements::Heading
4
+ def font
5
+ big_font
6
+ end
7
+ end
8
+ end
9
+ end
@@ -37,9 +37,9 @@ module Dedalus
37
37
 
38
38
  def self.example_data
39
39
  {
40
- name: "Paragraph",
41
- description: "fake library item molecule",
42
- item_class_name: 'Dedalus::Elements::Paragraph',
40
+ name: "Huge Text",
41
+ description: "(fake library item molecule)",
42
+ item_class_name: 'Dedalus::PatternLibrary::HugeText',
43
43
  item_data: { text: "Hi there!" },
44
44
  color: 'red', #Palette.red,
45
45
  kind: 'Atom'
@@ -37,7 +37,7 @@ module Dedalus
37
37
  end
38
38
 
39
39
  def title_element
40
- Elements::Heading.new(text: name, scale: 1.8 + scale)
40
+ LargeText.new(text: name)
41
41
  end
42
42
 
43
43
  def description_element
@@ -8,7 +8,8 @@ module Dedalus
8
8
 
9
9
  def show
10
10
  [
11
- Elements::Heading.new(text: abbreviation, scale: 6.0 * scale),
11
+ HugeText.new(text: abbreviation, scale: scale),
12
+ #Elements::Heading.new(text: abbreviation, scale: 6.0 * scale),
12
13
  Elements::Paragraph.new(text: element_name, scale: scale),
13
14
  Elements::Paragraph.new(text: kind, scale: 0.6 * scale)
14
15
  ]
@@ -35,15 +36,15 @@ module Dedalus
35
36
  end
36
37
 
37
38
  def padding
38
- 20 * scale
39
+ 30 * scale
39
40
  end
40
41
 
41
42
  def width
42
- 230 * scale
43
+ 280 * scale
43
44
  end
44
45
 
45
46
  def height
46
- 250 * scale
47
+ 300 * scale
47
48
  end
48
49
 
49
50
  def background_color
@@ -34,6 +34,10 @@ module Dedalus
34
34
  }
35
35
  end
36
36
 
37
+ def self.description
38
+ "pattern library template"
39
+ end
40
+
37
41
  private
38
42
  def library_page
39
43
  if current_section
@@ -1 +1,24 @@
1
+ require 'dedalus/pattern_library/models/library'
2
+ require 'dedalus/pattern_library/models/library_section'
3
+ require 'dedalus/pattern_library/models/library_item'
1
4
 
5
+ require 'dedalus/pattern_library/atoms/large_text'
6
+ require 'dedalus/pattern_library/atoms/huge_text'
7
+ require 'dedalus/pattern_library/molecules/library_section_tab'
8
+ # require 'dedalus/pattern_library/molecules/library_item_molecule'
9
+ require 'dedalus/pattern_library/molecules/library_item_example'
10
+ require 'dedalus/pattern_library/molecules/periodic_table_entry'
11
+ require 'dedalus/pattern_library/molecules/periodic_table'
12
+
13
+ require 'dedalus/pattern_library/organisms/app_header'
14
+ require 'dedalus/pattern_library/organisms/app_footer'
15
+ require 'dedalus/pattern_library/organisms/app_sidebar'
16
+ require 'dedalus/pattern_library/organisms/library_entry'
17
+
18
+ require 'dedalus/pattern_library/templates/app_template'
19
+
20
+ require 'dedalus/pattern_library/screens/app_screen'
21
+
22
+ require 'dedalus/pattern_library/library_view'
23
+ require 'dedalus/pattern_library/application_view'
24
+ require 'dedalus/pattern_library/application'
@@ -1,4 +1,4 @@
1
1
  module Dedalus
2
2
  # dedalus version
3
- VERSION = "0.1.2"
3
+ VERSION = "0.2.0"
4
4
  end
data/lib/dedalus.rb CHANGED
@@ -16,25 +16,3 @@ require 'dedalus/elements/image'
16
16
  require 'dedalus/elements/icon'
17
17
 
18
18
  require 'dedalus/pattern_library'
19
- require 'dedalus/pattern_library/models/library'
20
- require 'dedalus/pattern_library/models/library_section'
21
- require 'dedalus/pattern_library/models/library_item'
22
-
23
- require 'dedalus/pattern_library/molecules/library_section_tab'
24
- # require 'dedalus/pattern_library/molecules/library_item_molecule'
25
- require 'dedalus/pattern_library/molecules/library_item_example'
26
- require 'dedalus/pattern_library/molecules/periodic_table_entry'
27
- require 'dedalus/pattern_library/molecules/periodic_table'
28
-
29
- require 'dedalus/pattern_library/organisms/app_header'
30
- require 'dedalus/pattern_library/organisms/app_footer'
31
- require 'dedalus/pattern_library/organisms/app_sidebar'
32
- require 'dedalus/pattern_library/organisms/library_entry'
33
-
34
- require 'dedalus/pattern_library/templates/app_template'
35
-
36
- require 'dedalus/pattern_library/screens/app_screen'
37
-
38
- require 'dedalus/pattern_library/library_view'
39
- require 'dedalus/pattern_library/application_view'
40
- require 'dedalus/pattern_library/application'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dedalus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph Weissman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-27 00:00:00.000000000 Z
11
+ date: 2016-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: joyce
@@ -175,6 +175,8 @@ files:
175
175
  - lib/dedalus/pattern_library.rb
176
176
  - lib/dedalus/pattern_library/application.rb
177
177
  - lib/dedalus/pattern_library/application_view.rb
178
+ - lib/dedalus/pattern_library/atoms/huge_text.rb
179
+ - lib/dedalus/pattern_library/atoms/large_text.rb
178
180
  - lib/dedalus/pattern_library/library_view.rb
179
181
  - lib/dedalus/pattern_library/models/library.rb
180
182
  - lib/dedalus/pattern_library/models/library_item.rb