lacci 0.2.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +8 -1
- data/lib/lacci/scarpe_cli.rb +2 -2
- data/lib/lacci/scarpe_core.rb +2 -1
- data/lib/lacci/version.rb +1 -1
- data/lib/scarpe/niente/app.rb +23 -0
- data/lib/scarpe/niente/display_service.rb +66 -0
- data/lib/scarpe/niente/drawable.rb +59 -0
- data/lib/scarpe/niente/shoes_spec.rb +93 -0
- data/lib/scarpe/niente.rb +32 -0
- data/lib/shoes/app.rb +111 -72
- data/lib/shoes/background.rb +2 -2
- data/lib/shoes/border.rb +2 -2
- data/lib/shoes/builtins.rb +63 -0
- data/lib/shoes/changelog.rb +52 -0
- data/lib/shoes/colors.rb +3 -1
- data/lib/shoes/constants.rb +41 -2
- data/lib/shoes/display_service.rb +80 -18
- data/lib/shoes/download.rb +2 -2
- data/lib/shoes/drawable.rb +654 -0
- data/lib/shoes/drawables/arc.rb +27 -0
- data/lib/shoes/drawables/arrow.rb +21 -0
- data/lib/shoes/drawables/border.rb +28 -0
- data/lib/shoes/drawables/button.rb +57 -0
- data/lib/shoes/drawables/check.rb +33 -0
- data/lib/shoes/drawables/document_root.rb +20 -0
- data/lib/shoes/{widgets → drawables}/edit_box.rb +9 -8
- data/lib/shoes/{widgets → drawables}/edit_line.rb +8 -7
- data/lib/shoes/drawables/flow.rb +20 -0
- data/lib/shoes/drawables/font_helper.rb +62 -0
- data/lib/shoes/{widgets → drawables}/image.rb +7 -7
- data/lib/shoes/drawables/line.rb +17 -0
- data/lib/shoes/drawables/link.rb +31 -0
- data/lib/shoes/drawables/list_box.rb +59 -0
- data/lib/shoes/drawables/oval.rb +48 -0
- data/lib/shoes/drawables/para.rb +206 -0
- data/lib/shoes/drawables/progress.rb +15 -0
- data/lib/shoes/drawables/radio.rb +35 -0
- data/lib/shoes/drawables/rect.rb +18 -0
- data/lib/shoes/{widgets → drawables}/shape.rb +8 -8
- data/lib/shoes/drawables/slot.rb +178 -0
- data/lib/shoes/drawables/stack.rb +21 -0
- data/lib/shoes/drawables/star.rb +28 -0
- data/lib/shoes/drawables/subscription_item.rb +93 -0
- data/lib/shoes/drawables/text_drawable.rb +122 -0
- data/lib/shoes/drawables/video.rb +17 -0
- data/lib/shoes/drawables/widget.rb +74 -0
- data/lib/shoes/drawables.rb +32 -0
- data/lib/shoes/errors.rb +38 -0
- data/lib/shoes/log.rb +2 -2
- data/lib/shoes/margin_helper.rb +79 -0
- data/lib/shoes/ruby_extensions.rb +15 -0
- data/lib/shoes-spec.rb +93 -0
- data/lib/shoes.rb +31 -10
- metadata +58 -31
- data/lib/shoes/spacing.rb +0 -9
- data/lib/shoes/widget.rb +0 -218
- data/lib/shoes/widgets/alert.rb +0 -19
- data/lib/shoes/widgets/arc.rb +0 -51
- data/lib/shoes/widgets/button.rb +0 -35
- data/lib/shoes/widgets/check.rb +0 -28
- data/lib/shoes/widgets/document_root.rb +0 -20
- data/lib/shoes/widgets/flow.rb +0 -22
- data/lib/shoes/widgets/font.rb +0 -14
- data/lib/shoes/widgets/line.rb +0 -18
- data/lib/shoes/widgets/link.rb +0 -25
- data/lib/shoes/widgets/list_box.rb +0 -25
- data/lib/shoes/widgets/para.rb +0 -68
- data/lib/shoes/widgets/radio.rb +0 -35
- data/lib/shoes/widgets/slot.rb +0 -75
- data/lib/shoes/widgets/span.rb +0 -26
- data/lib/shoes/widgets/stack.rb +0 -24
- data/lib/shoes/widgets/star.rb +0 -44
- data/lib/shoes/widgets/subscription_item.rb +0 -60
- data/lib/shoes/widgets/text_widget.rb +0 -51
- data/lib/shoes/widgets/video.rb +0 -15
- data/lib/shoes/widgets.rb +0 -29
data/lib/shoes/errors.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Shoes; end
|
4
|
+
module Shoes::Errors
|
5
|
+
class InvalidAttributeValueError < Shoes::Error; end
|
6
|
+
|
7
|
+
class TooManyInstancesError < Shoes::Error; end
|
8
|
+
|
9
|
+
class NoSuchListItemError < Shoes::Error; end
|
10
|
+
|
11
|
+
class DuplicateCreateDrawableError < Shoes::Error; end
|
12
|
+
|
13
|
+
class MultipleDrawablesFoundError < Shoes::Error; end
|
14
|
+
|
15
|
+
class NoDrawablesFoundError < Shoes::Error; end
|
16
|
+
|
17
|
+
class NoSuchStyleError < Shoes::Error; end
|
18
|
+
|
19
|
+
class NoSuchLinkableIdError < Shoes::Error; end
|
20
|
+
|
21
|
+
class BadLinkableIdError < Shoes::Error; end
|
22
|
+
|
23
|
+
class UnregisteredShoesEventError < Shoes::Error; end
|
24
|
+
|
25
|
+
class BadArgumentListError < Shoes::Error; end
|
26
|
+
|
27
|
+
class SingletonError < Shoes::Error; end
|
28
|
+
|
29
|
+
class MultipleShoesSpecRunsError < Shoes::Error; end
|
30
|
+
|
31
|
+
class UnsupportedFeatureError < Shoes::Error; end
|
32
|
+
|
33
|
+
class BadFilenameError < Shoes::Error; end
|
34
|
+
|
35
|
+
class UnknownEventsForClassError < Shoes::Error; end
|
36
|
+
|
37
|
+
class DoubleRegisteredShoesEventError < Shoes::Error; end
|
38
|
+
end
|
data/lib/shoes/log.rb
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
# If used alone, this will fail because the @instance is nil. It needs
|
9
9
|
# an implementation to be plugged in.
|
10
10
|
|
11
|
-
|
11
|
+
class Shoes
|
12
12
|
LOG_LEVELS = [:debug, :info, :warn, :error, :fatal].freeze
|
13
13
|
|
14
14
|
# Include this module to get a @log instance variable to log as your
|
@@ -28,7 +28,7 @@ module Shoes
|
|
28
28
|
attr_reader :current_log_config
|
29
29
|
|
30
30
|
def instance=(impl_object)
|
31
|
-
raise(Shoes::
|
31
|
+
raise(Shoes::Errors::TooManyInstancesError, "Already have an instance for Shoes::Log!") if @instance
|
32
32
|
|
33
33
|
@instance = impl_object
|
34
34
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module MarginHelper
|
2
|
+
|
3
|
+
def margin_parse(kwargs)
|
4
|
+
|
5
|
+
if kwargs[:margin]
|
6
|
+
|
7
|
+
if kwargs[:margin].is_a?(Numeric)
|
8
|
+
|
9
|
+
if !kwargs[:margin_top]
|
10
|
+
kwargs[:margin_top] = kwargs[:margin]
|
11
|
+
end
|
12
|
+
if !kwargs[:margin_bottom]
|
13
|
+
kwargs[:margin_bottom] = kwargs[:margin]
|
14
|
+
end
|
15
|
+
if !kwargs[:margin_left]
|
16
|
+
kwargs[:margin_left] = kwargs[:margin]
|
17
|
+
end
|
18
|
+
if !kwargs[:margin_right]
|
19
|
+
kwargs[:margin_right] = kwargs[:margin]
|
20
|
+
end
|
21
|
+
|
22
|
+
elsif kwargs[:margin].is_a?(Hash)
|
23
|
+
|
24
|
+
kwargs[:margin].each do |key,value|
|
25
|
+
kwargs[:"margin_#{key}"] = value
|
26
|
+
end
|
27
|
+
|
28
|
+
else
|
29
|
+
margin_props = kwargs[:margin].is_a?(String) ? kwargs[:margin].split(/\s+|\,|-/) : kwargs[:margin]
|
30
|
+
if margin_props.length == 1
|
31
|
+
|
32
|
+
if !kwargs[:margin_top]
|
33
|
+
kwargs[:margin_top] = margin_props[0]
|
34
|
+
end
|
35
|
+
if !kwargs[:margin_bottom]
|
36
|
+
kwargs[:margin_bottom] = margin_props[0]
|
37
|
+
end
|
38
|
+
if !kwargs[:margin_left]
|
39
|
+
kwargs[:margin_left] = margin_props[0]
|
40
|
+
end
|
41
|
+
if !kwargs[:margin_right]
|
42
|
+
kwargs[:margin_right] = margin_props[0]
|
43
|
+
end
|
44
|
+
|
45
|
+
elsif margin_props.length == 2
|
46
|
+
|
47
|
+
raise(Shoes::Errors::InvalidAttributeValueError, "Margin don't support 2-3 values as Array/string input for using 2-3 input you can use the hash input method like '{left:value, right:value, top:value, bottom:value}'")
|
48
|
+
|
49
|
+
elsif margin_props.length == 3
|
50
|
+
|
51
|
+
raise(Shoes::Errors::InvalidAttributeValueError, "Margin don't support 2-3 values as Array/string input for using 2-3 input you can use the hash input method like '{left:value,right:value,top:value,bottom:value}'")
|
52
|
+
|
53
|
+
else
|
54
|
+
|
55
|
+
if !kwargs[:margin_top]
|
56
|
+
kwargs[:margin_top] = margin_props[1]
|
57
|
+
end
|
58
|
+
if !kwargs[:margin_bottom]
|
59
|
+
kwargs[:margin_bottom] = margin_props[3]
|
60
|
+
end
|
61
|
+
if !kwargs[:margin_left]
|
62
|
+
kwargs[:margin_left] = margin_props[0]
|
63
|
+
end
|
64
|
+
if !kwargs[:margin_right]
|
65
|
+
kwargs[:margin_right] = margin_props[2]
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
kwargs[:margin] = nil
|
71
|
+
end
|
72
|
+
if kwargs["options"] && !kwargs[:margin] && !kwargs[:margin_left] && !kwargs[:margin_right] && !kwargs[:margin_top] && !kwargs[:margin_bottom]
|
73
|
+
kwargs[options].each do |key,value|
|
74
|
+
kwargs[key] = value
|
75
|
+
end
|
76
|
+
end
|
77
|
+
kwargs
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
class Range
|
3
|
+
def rand
|
4
|
+
conv = (Integer === self.end && Integer === self.begin ? :to_i : :to_f)
|
5
|
+
((Kernel.rand * (self.end - self.begin)) + self.begin).send(conv)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
unless Time.respond_to? :today
|
10
|
+
def Time.today
|
11
|
+
t = Time.now
|
12
|
+
t - (t.to_i % 86_400)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
data/lib/shoes-spec.rb
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Shoes
|
4
|
+
# A Scarpe-compatible display service can set Shoes::Spec.instance to
|
5
|
+
# a ShoesSpec testing class, and use it to run Shoes-Spec code.
|
6
|
+
# A Shoes application should never do this. It's intended to be used
|
7
|
+
# by display services.
|
8
|
+
module Spec
|
9
|
+
def self.instance
|
10
|
+
@instance
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.instance=(spec_inst)
|
14
|
+
if @instance && @instance != spec_inst
|
15
|
+
raise "Lacci can only use a single ShoesSpec implementation at one time!"
|
16
|
+
end
|
17
|
+
|
18
|
+
@instance = spec_inst
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# ShoesSpec testing objects can optionally inherit from this object,
|
23
|
+
# which shows the ShoesSpec testing API.
|
24
|
+
#
|
25
|
+
# @see {Shoes::Spec.instance=}
|
26
|
+
class SpecInstance
|
27
|
+
# Once a Shoes app has been created, this method can be called to
|
28
|
+
# execute Shoes-Spec testing code for that application. Shoes-Spec
|
29
|
+
# uses Minitest for most of its APIs, and Minitest generally reports
|
30
|
+
# results with a class name and test name. If those aren't passed
|
31
|
+
# explicitly, the SpecInstance can choose reasonable defaults.
|
32
|
+
#
|
33
|
+
# The test code should be set up to run automatically from the
|
34
|
+
# display service's existing hooks. For instance, the code might
|
35
|
+
# run in response to the first heartbeat, if the display service
|
36
|
+
# uses heartbeats.
|
37
|
+
#
|
38
|
+
# The test code will export assertion data in its native format.
|
39
|
+
# Multiple display services choose to use the Scarpe-Component
|
40
|
+
# for Minitest data export, which is straightforward to import
|
41
|
+
# into the Shoes-Spec test harness.
|
42
|
+
#
|
43
|
+
# @param code [String] the ShoesSpec code to execute
|
44
|
+
# @param class_name [String|NilClass] the Minitest class name for reporting or nil
|
45
|
+
# @param test_name [String|NilClass] the Minitest test name for reporting or nil
|
46
|
+
# @return [void]
|
47
|
+
def run_shoes_spec_test_code(code, class_name: nil, test_name: nil)
|
48
|
+
raise "Child class should override this!"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# ShoesSpec instances support finder methods like button() that return
|
53
|
+
# a proxy to the corresponding drawable. Those proxies should support
|
54
|
+
# standard Shoes::Drawable methods, including the ones appropriate to
|
55
|
+
# the same drawable object. They should also support certain other
|
56
|
+
# testing-specific methods like "trigger_click" that are used to
|
57
|
+
# simulate display-side events during testing.
|
58
|
+
#
|
59
|
+
# Keep in mind that a proxy will often be in a different process from
|
60
|
+
# the Shoes app. So the proxy can't portably return the object or
|
61
|
+
# display object, though it could possibly return another proxy for such
|
62
|
+
# a thing.
|
63
|
+
class SpecProxy
|
64
|
+
# The proxy will have finder methods for all drawables, such as
|
65
|
+
# button(), edit_line(), etc. How to document those?
|
66
|
+
|
67
|
+
# Trigger a click on a button or button-like drawable. Not every
|
68
|
+
# drawable will support this operation.
|
69
|
+
def trigger_click()
|
70
|
+
raise "Child class should override this!"
|
71
|
+
end
|
72
|
+
|
73
|
+
# Trigger a hover over a hoverable drawable. Not every
|
74
|
+
# drawable will support this operation. A drawable that supports
|
75
|
+
# hover should support leave and vice-versa.
|
76
|
+
def trigger_hover()
|
77
|
+
raise "Child class should override this!"
|
78
|
+
end
|
79
|
+
|
80
|
+
# Trigger ending hover over a hoverable drawable. Not every
|
81
|
+
# drawable will support this operation. A drawable that supports
|
82
|
+
# hover should support leave and vice-versa.
|
83
|
+
def trigger_leave()
|
84
|
+
raise "Child class should override this!"
|
85
|
+
end
|
86
|
+
|
87
|
+
# Trigger a change in value for a drawable like a list_box
|
88
|
+
# with multiple values.
|
89
|
+
def trigger_change(value)
|
90
|
+
raise "Child class should override this!"
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
data/lib/shoes.rb
CHANGED
@@ -12,38 +12,51 @@ if RUBY_VERSION[0..2] < "3.2"
|
|
12
12
|
exit(-1)
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
class Shoes; end
|
16
16
|
class Shoes::Error < StandardError; end
|
17
|
+
require_relative "shoes/errors"
|
17
18
|
|
18
19
|
require_relative "shoes/constants"
|
20
|
+
require_relative "shoes/ruby_extensions"
|
19
21
|
|
20
22
|
# Shoes adds some top-level methods and constants that can be used everywhere. Kernel is where they go.
|
21
23
|
module Kernel
|
22
24
|
include Shoes::Constants
|
23
25
|
end
|
24
26
|
|
25
|
-
require_relative "shoes/log"
|
26
27
|
require_relative "shoes/display_service"
|
28
|
+
|
29
|
+
# Pre-declare classes that get referenced outside their own require file
|
30
|
+
class Shoes::Drawable < Shoes::Linkable; end
|
31
|
+
class Shoes::Slot < Shoes::Drawable; end
|
32
|
+
class Shoes::Widget < Shoes::Slot; end
|
33
|
+
|
34
|
+
require_relative "shoes/log"
|
27
35
|
require_relative "shoes/colors"
|
28
36
|
|
37
|
+
require_relative "shoes/builtins"
|
38
|
+
|
29
39
|
require_relative "shoes/background"
|
30
|
-
require_relative "shoes/border"
|
31
|
-
require_relative "shoes/spacing"
|
32
40
|
|
33
|
-
require_relative "shoes/
|
41
|
+
require_relative "shoes/drawable"
|
34
42
|
require_relative "shoes/app"
|
35
|
-
require_relative "shoes/
|
43
|
+
require_relative "shoes/drawables"
|
36
44
|
|
37
45
|
require_relative "shoes/download"
|
38
46
|
|
47
|
+
# No easy way to tell at this point whether
|
48
|
+
# we will later load Shoes-Spec code, e.g.
|
49
|
+
# by running a segmented app with test code.
|
50
|
+
require_relative "shoes-spec"
|
51
|
+
|
39
52
|
# The module containing Shoes in all its glory.
|
40
53
|
# Shoes is a platform-independent GUI library, designed to create
|
41
54
|
# small visual applications in Ruby.
|
42
55
|
#
|
43
|
-
|
56
|
+
class Shoes
|
44
57
|
class << self
|
45
58
|
# Creates a Shoes app with a new window. The block parameter is used to create
|
46
|
-
#
|
59
|
+
# drawables and set up handlers. Arguments are passed to Shoes::App.new internally.
|
47
60
|
#
|
48
61
|
# @incompatibility In Shoes3, this method will return normally.
|
49
62
|
# In Scarpe, after the block is executed, the method will not return and Scarpe
|
@@ -61,6 +74,7 @@ module Shoes
|
|
61
74
|
# @param width [Integer] The new app window width
|
62
75
|
# @param height [Integer] The new app window height
|
63
76
|
# @param resizable [Boolean] Whether the app window should be resizeable
|
77
|
+
# @param features [Symbol,Array<Symbol>] Additional Shoes extensions requested by the app
|
64
78
|
# @return [void]
|
65
79
|
# @see Shoes::App#new
|
66
80
|
def app(
|
@@ -68,9 +82,11 @@ module Shoes
|
|
68
82
|
width: 480,
|
69
83
|
height: 420,
|
70
84
|
resizable: true,
|
85
|
+
features: [],
|
71
86
|
&app_code_body
|
72
87
|
)
|
73
|
-
|
88
|
+
f = [features].flatten # Make sure this is a list, not a single symbol
|
89
|
+
app = Shoes::App.new(title:, width:, height:, resizable:, features: f, &app_code_body)
|
74
90
|
app.init
|
75
91
|
app.run
|
76
92
|
nil
|
@@ -81,11 +97,16 @@ module Shoes
|
|
81
97
|
# more loaders, a Lacci-based display library can accept new file formats as
|
82
98
|
# well, not just raw Shoes .rb files.
|
83
99
|
#
|
84
|
-
# @param
|
100
|
+
# @param relative_path [String] The current-dir-relative path to the file
|
85
101
|
# @return [void]
|
86
102
|
# @see Shoes.add_file_loader
|
87
103
|
def run_app(relative_path)
|
88
104
|
path = File.expand_path relative_path
|
105
|
+
dir = File.dirname(path)
|
106
|
+
|
107
|
+
# Shoes assumes we're starting from the app code's path
|
108
|
+
Dir.chdir(dir)
|
109
|
+
|
89
110
|
loaded = false
|
90
111
|
file_loaders.each do |loader|
|
91
112
|
if loader.call(path)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lacci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marco Concetto Rudilosso
|
@@ -9,8 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
13
|
-
dependencies:
|
12
|
+
date: 2024-05-06 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: scarpe-components
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 0.4.0
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 0.4.0
|
14
28
|
description:
|
15
29
|
email:
|
16
30
|
- marcoc.r@outlook.com
|
@@ -25,47 +39,60 @@ files:
|
|
25
39
|
- lib/lacci/scarpe_cli.rb
|
26
40
|
- lib/lacci/scarpe_core.rb
|
27
41
|
- lib/lacci/version.rb
|
42
|
+
- lib/scarpe/niente.rb
|
43
|
+
- lib/scarpe/niente/app.rb
|
44
|
+
- lib/scarpe/niente/display_service.rb
|
45
|
+
- lib/scarpe/niente/drawable.rb
|
46
|
+
- lib/scarpe/niente/shoes_spec.rb
|
47
|
+
- lib/shoes-spec.rb
|
28
48
|
- lib/shoes.rb
|
29
49
|
- lib/shoes/app.rb
|
30
50
|
- lib/shoes/background.rb
|
31
51
|
- lib/shoes/border.rb
|
52
|
+
- lib/shoes/builtins.rb
|
53
|
+
- lib/shoes/changelog.rb
|
32
54
|
- lib/shoes/colors.rb
|
33
55
|
- lib/shoes/constants.rb
|
34
56
|
- lib/shoes/display_service.rb
|
35
57
|
- lib/shoes/download.rb
|
58
|
+
- lib/shoes/drawable.rb
|
59
|
+
- lib/shoes/drawables.rb
|
60
|
+
- lib/shoes/drawables/arc.rb
|
61
|
+
- lib/shoes/drawables/arrow.rb
|
62
|
+
- lib/shoes/drawables/border.rb
|
63
|
+
- lib/shoes/drawables/button.rb
|
64
|
+
- lib/shoes/drawables/check.rb
|
65
|
+
- lib/shoes/drawables/document_root.rb
|
66
|
+
- lib/shoes/drawables/edit_box.rb
|
67
|
+
- lib/shoes/drawables/edit_line.rb
|
68
|
+
- lib/shoes/drawables/flow.rb
|
69
|
+
- lib/shoes/drawables/font_helper.rb
|
70
|
+
- lib/shoes/drawables/image.rb
|
71
|
+
- lib/shoes/drawables/line.rb
|
72
|
+
- lib/shoes/drawables/link.rb
|
73
|
+
- lib/shoes/drawables/list_box.rb
|
74
|
+
- lib/shoes/drawables/oval.rb
|
75
|
+
- lib/shoes/drawables/para.rb
|
76
|
+
- lib/shoes/drawables/progress.rb
|
77
|
+
- lib/shoes/drawables/radio.rb
|
78
|
+
- lib/shoes/drawables/rect.rb
|
79
|
+
- lib/shoes/drawables/shape.rb
|
80
|
+
- lib/shoes/drawables/slot.rb
|
81
|
+
- lib/shoes/drawables/stack.rb
|
82
|
+
- lib/shoes/drawables/star.rb
|
83
|
+
- lib/shoes/drawables/subscription_item.rb
|
84
|
+
- lib/shoes/drawables/text_drawable.rb
|
85
|
+
- lib/shoes/drawables/video.rb
|
86
|
+
- lib/shoes/drawables/widget.rb
|
87
|
+
- lib/shoes/errors.rb
|
36
88
|
- lib/shoes/log.rb
|
37
|
-
- lib/shoes/
|
38
|
-
- lib/shoes/
|
39
|
-
- lib/shoes/widgets.rb
|
40
|
-
- lib/shoes/widgets/alert.rb
|
41
|
-
- lib/shoes/widgets/arc.rb
|
42
|
-
- lib/shoes/widgets/button.rb
|
43
|
-
- lib/shoes/widgets/check.rb
|
44
|
-
- lib/shoes/widgets/document_root.rb
|
45
|
-
- lib/shoes/widgets/edit_box.rb
|
46
|
-
- lib/shoes/widgets/edit_line.rb
|
47
|
-
- lib/shoes/widgets/flow.rb
|
48
|
-
- lib/shoes/widgets/font.rb
|
49
|
-
- lib/shoes/widgets/image.rb
|
50
|
-
- lib/shoes/widgets/line.rb
|
51
|
-
- lib/shoes/widgets/link.rb
|
52
|
-
- lib/shoes/widgets/list_box.rb
|
53
|
-
- lib/shoes/widgets/para.rb
|
54
|
-
- lib/shoes/widgets/radio.rb
|
55
|
-
- lib/shoes/widgets/shape.rb
|
56
|
-
- lib/shoes/widgets/slot.rb
|
57
|
-
- lib/shoes/widgets/span.rb
|
58
|
-
- lib/shoes/widgets/stack.rb
|
59
|
-
- lib/shoes/widgets/star.rb
|
60
|
-
- lib/shoes/widgets/subscription_item.rb
|
61
|
-
- lib/shoes/widgets/text_widget.rb
|
62
|
-
- lib/shoes/widgets/video.rb
|
89
|
+
- lib/shoes/margin_helper.rb
|
90
|
+
- lib/shoes/ruby_extensions.rb
|
63
91
|
homepage: https://github.com/scarpe-team/scarpe
|
64
92
|
licenses:
|
65
93
|
- MIT
|
66
94
|
metadata:
|
67
95
|
homepage_uri: https://github.com/scarpe-team/scarpe
|
68
|
-
source_code_uri: https://github.com/scarpe-team/scarpe
|
69
96
|
changelog_uri: https://github.com/scarpe-team/scarpe/blob/main/CHANGELOG.md
|
70
97
|
post_install_message:
|
71
98
|
rdoc_options: []
|
@@ -82,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
109
|
- !ruby/object:Gem::Version
|
83
110
|
version: '0'
|
84
111
|
requirements: []
|
85
|
-
rubygems_version: 3.
|
112
|
+
rubygems_version: 3.5.3
|
86
113
|
signing_key:
|
87
114
|
specification_version: 4
|
88
115
|
summary: Lacci - a portable Shoes DSL with switchable display backends, part of Scarpe
|