ffi-tk 2010.08.23 → 2018.02.20

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 (199) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +7 -0
  4. data/.rubocop_todo.yml +371 -0
  5. data/AUTHORS +4 -2
  6. data/CHANGELOG +302 -262
  7. data/Gemfile +10 -0
  8. data/Gemfile.lock +45 -0
  9. data/MANIFEST +6 -6
  10. data/README.md +1 -1
  11. data/Rakefile +12 -11
  12. data/bin/rwish +6 -5
  13. data/example/choose_color.rb +5 -4
  14. data/example/choose_directory.rb +5 -4
  15. data/example/dialog.rb +9 -8
  16. data/example/hello.rb +2 -1
  17. data/example/message_box.rb +8 -5
  18. data/example/option_menu.rb +4 -3
  19. data/example/popup.rb +4 -3
  20. data/example/set_palette.rb +5 -4
  21. data/example/text.rb +30 -30
  22. data/example/tile/kroc_demo_small.rb +51 -55
  23. data/example/tile/kroc_rb_demo.rb +74 -83
  24. data/example/tile/notebook.rb +6 -9
  25. data/example/tile/theme_hello.rb +6 -8
  26. data/example/tile/themes.rb +4 -2
  27. data/example/tile/treeview.rb +16 -14
  28. data/example/tkgo.rb +120 -88
  29. data/example/various.rb +8 -7
  30. data/example/wait.rb +3 -2
  31. data/ffi-tk.gemspec +21 -20
  32. data/gemset.nix +134 -0
  33. data/lib/ffi-tk.rb +10 -11
  34. data/lib/ffi-tk/command.rb +3 -2
  35. data/lib/ffi-tk/command/after.rb +8 -7
  36. data/lib/ffi-tk/command/bell.rb +2 -1
  37. data/lib/ffi-tk/command/bind.rb +1 -0
  38. data/lib/ffi-tk/command/bindtags.rb +1 -0
  39. data/lib/ffi-tk/command/cget.rb +31 -24
  40. data/lib/ffi-tk/command/choose_color.rb +2 -1
  41. data/lib/ffi-tk/command/choose_directory.rb +2 -1
  42. data/lib/ffi-tk/command/clipboard.rb +6 -5
  43. data/lib/ffi-tk/command/configure.rb +23 -21
  44. data/lib/ffi-tk/command/destroy.rb +2 -1
  45. data/lib/ffi-tk/command/dialog.rb +4 -3
  46. data/lib/ffi-tk/command/event.rb +1 -0
  47. data/lib/ffi-tk/command/focus.rb +2 -1
  48. data/lib/ffi-tk/command/font.rb +12 -9
  49. data/lib/ffi-tk/command/get_open_file.rb +1 -0
  50. data/lib/ffi-tk/command/get_save_file.rb +1 -0
  51. data/lib/ffi-tk/command/grab.rb +2 -1
  52. data/lib/ffi-tk/command/grid.rb +7 -6
  53. data/lib/ffi-tk/command/image.rb +5 -4
  54. data/lib/ffi-tk/command/lower.rb +1 -0
  55. data/lib/ffi-tk/command/message_box.rb +2 -1
  56. data/lib/ffi-tk/command/option_menu.rb +3 -2
  57. data/lib/ffi-tk/command/pack.rb +5 -4
  58. data/lib/ffi-tk/command/place.rb +5 -4
  59. data/lib/ffi-tk/command/popup.rb +2 -1
  60. data/lib/ffi-tk/command/raise.rb +1 -0
  61. data/lib/ffi-tk/command/scrollable.rb +7 -10
  62. data/lib/ffi-tk/command/selection.rb +4 -3
  63. data/lib/ffi-tk/command/set_palette.rb +2 -1
  64. data/lib/ffi-tk/command/tk_cmd.rb +1 -0
  65. data/lib/ffi-tk/command/vars.rb +2 -1
  66. data/lib/ffi-tk/command/wait.rb +2 -1
  67. data/lib/ffi-tk/command/winfo.rb +9 -8
  68. data/lib/ffi-tk/command/wm.rb +11 -10
  69. data/lib/ffi-tk/core_extensions.rb +5 -4
  70. data/lib/ffi-tk/event/data.rb +32 -31
  71. data/lib/ffi-tk/event/handler.rb +4 -3
  72. data/lib/ffi-tk/ffi/tcl.rb +42 -31
  73. data/lib/ffi-tk/ffi/tcl/cmd_proc.rb +2 -1
  74. data/lib/ffi-tk/ffi/tcl/eval_result.rb +47 -8
  75. data/lib/ffi-tk/ffi/tcl/interp.rb +7 -4
  76. data/lib/ffi-tk/ffi/tcl/obj.rb +7 -32
  77. data/lib/ffi-tk/ffi/tcl/time.rb +2 -1
  78. data/lib/ffi-tk/ffi/tk.rb +8 -7
  79. data/lib/ffi-tk/geometry.rb +20 -17
  80. data/lib/ffi-tk/thread_sender.rb +1 -0
  81. data/lib/ffi-tk/tk.rb +23 -23
  82. data/lib/ffi-tk/variable.rb +25 -3
  83. data/lib/ffi-tk/version.rb +1 -1
  84. data/lib/ffi-tk/widget.rb +2 -1
  85. data/lib/ffi-tk/widget/button.rb +4 -1
  86. data/lib/ffi-tk/widget/canvas.rb +18 -15
  87. data/lib/ffi-tk/widget/canvas/arc.rb +2 -1
  88. data/lib/ffi-tk/widget/canvas/bitmap.rb +2 -1
  89. data/lib/ffi-tk/widget/canvas/image.rb +2 -1
  90. data/lib/ffi-tk/widget/canvas/item.rb +4 -4
  91. data/lib/ffi-tk/widget/canvas/line.rb +2 -1
  92. data/lib/ffi-tk/widget/canvas/oval.rb +2 -1
  93. data/lib/ffi-tk/widget/canvas/polygon.rb +2 -1
  94. data/lib/ffi-tk/widget/canvas/rectangle.rb +2 -1
  95. data/lib/ffi-tk/widget/canvas/text.rb +2 -1
  96. data/lib/ffi-tk/widget/canvas/window.rb +2 -1
  97. data/lib/ffi-tk/widget/checkbutton.rb +4 -1
  98. data/lib/ffi-tk/widget/entry.rb +4 -1
  99. data/lib/ffi-tk/widget/frame.rb +4 -1
  100. data/lib/ffi-tk/widget/label.rb +4 -1
  101. data/lib/ffi-tk/widget/labelframe.rb +4 -1
  102. data/lib/ffi-tk/widget/listbox.rb +5 -2
  103. data/lib/ffi-tk/widget/menu.rb +4 -1
  104. data/lib/ffi-tk/widget/menubutton.rb +4 -1
  105. data/lib/ffi-tk/widget/message.rb +4 -1
  106. data/lib/ffi-tk/widget/panedwindow.rb +5 -2
  107. data/lib/ffi-tk/widget/radiobutton.rb +4 -1
  108. data/lib/ffi-tk/widget/root.rb +1 -0
  109. data/lib/ffi-tk/widget/scale.rb +4 -1
  110. data/lib/ffi-tk/widget/scrollbar.rb +4 -1
  111. data/lib/ffi-tk/widget/spinbox.rb +4 -1
  112. data/lib/ffi-tk/widget/text.rb +20 -16
  113. data/lib/ffi-tk/widget/text/peer.rb +1 -0
  114. data/lib/ffi-tk/widget/tile.rb +2 -1
  115. data/lib/ffi-tk/widget/tile/button.rb +4 -1
  116. data/lib/ffi-tk/widget/tile/checkbutton.rb +4 -1
  117. data/lib/ffi-tk/widget/tile/combobox.rb +5 -2
  118. data/lib/ffi-tk/widget/tile/entry.rb +4 -1
  119. data/lib/ffi-tk/widget/tile/frame.rb +4 -1
  120. data/lib/ffi-tk/widget/tile/label.rb +4 -2
  121. data/lib/ffi-tk/widget/tile/labelframe.rb +4 -1
  122. data/lib/ffi-tk/widget/tile/menubutton.rb +4 -1
  123. data/lib/ffi-tk/widget/tile/notebook.rb +4 -1
  124. data/lib/ffi-tk/widget/tile/panedwindow.rb +4 -1
  125. data/lib/ffi-tk/widget/tile/progressbar.rb +4 -2
  126. data/lib/ffi-tk/widget/tile/radiobutton.rb +4 -1
  127. data/lib/ffi-tk/widget/tile/scale.rb +4 -1
  128. data/lib/ffi-tk/widget/tile/scrollbar.rb +7 -4
  129. data/lib/ffi-tk/widget/tile/separator.rb +4 -1
  130. data/lib/ffi-tk/widget/tile/sizegrip.rb +4 -1
  131. data/lib/ffi-tk/widget/tile/style.rb +16 -17
  132. data/lib/ffi-tk/widget/tile/treeview.rb +11 -5
  133. data/lib/ffi-tk/widget/toplevel.rb +4 -1
  134. data/shell.nix +19 -0
  135. data/spec/ffi-tk/command/bind.rb +5 -4
  136. data/spec/ffi-tk/command/bindtags.rb +2 -1
  137. data/spec/ffi-tk/command/clipboard.rb +4 -3
  138. data/spec/ffi-tk/command/font.rb +20 -19
  139. data/spec/ffi-tk/command/image.rb +13 -5
  140. data/spec/ffi-tk/command/pack.rb +3 -2
  141. data/spec/ffi-tk/command/place.rb +4 -3
  142. data/spec/ffi-tk/command/selection.rb +2 -1
  143. data/spec/ffi-tk/command/vars.rb +3 -2
  144. data/spec/ffi-tk/command/winfo.rb +10 -10
  145. data/spec/ffi-tk/command/wm.rb +23 -22
  146. data/spec/ffi-tk/event.rb +23 -21
  147. data/spec/ffi-tk/tile/button.rb +8 -8
  148. data/spec/ffi-tk/tile/checkbutton.rb +1 -1
  149. data/spec/ffi-tk/tile/combobox.rb +11 -12
  150. data/spec/ffi-tk/tile/entry.rb +18 -19
  151. data/spec/ffi-tk/tile/frame.rb +13 -13
  152. data/spec/ffi-tk/tile/label.rb +2 -2
  153. data/spec/ffi-tk/tile/labelframe.rb +1 -1
  154. data/spec/ffi-tk/tile/menubutton.rb +1 -1
  155. data/spec/ffi-tk/tile/notebook.rb +22 -20
  156. data/spec/ffi-tk/tile/panedwindow.rb +1 -1
  157. data/spec/ffi-tk/tile/progressbar.rb +1 -1
  158. data/spec/ffi-tk/tile/radiobutton.rb +1 -1
  159. data/spec/ffi-tk/tile/scale.rb +1 -1
  160. data/spec/ffi-tk/tile/scrollbar.rb +1 -16
  161. data/spec/ffi-tk/tile/separator.rb +2 -2
  162. data/spec/ffi-tk/tile/sizegrip.rb +1 -1
  163. data/spec/ffi-tk/tile/style.rb +63 -65
  164. data/spec/ffi-tk/tile/treeview.rb +11 -10
  165. data/spec/ffi-tk/variable.rb +5 -4
  166. data/spec/ffi-tk/widget/button.rb +3 -2
  167. data/spec/ffi-tk/widget/canvas.rb +59 -58
  168. data/spec/ffi-tk/widget/checkbutton.rb +6 -5
  169. data/spec/ffi-tk/widget/entry.rb +112 -103
  170. data/spec/ffi-tk/widget/frame.rb +2 -1
  171. data/spec/ffi-tk/widget/label.rb +2 -1
  172. data/spec/ffi-tk/widget/labelframe.rb +1 -0
  173. data/spec/ffi-tk/widget/listbox.rb +5 -4
  174. data/spec/ffi-tk/widget/menu.rb +3 -2
  175. data/spec/ffi-tk/widget/menubutton.rb +1 -0
  176. data/spec/ffi-tk/widget/message.rb +1 -0
  177. data/spec/ffi-tk/widget/panedwindow.rb +1 -0
  178. data/spec/ffi-tk/widget/radiobutton.rb +1 -0
  179. data/spec/ffi-tk/widget/root.rb +2 -1
  180. data/spec/ffi-tk/widget/scale.rb +1 -0
  181. data/spec/ffi-tk/widget/scrollbar.rb +1 -0
  182. data/spec/ffi-tk/widget/spinbox.rb +1 -0
  183. data/spec/ffi-tk/widget/text.rb +63 -54
  184. data/spec/ffi-tk/widget/toplevel.rb +1 -0
  185. data/spec/helper.rb +3 -1
  186. data/tasks/authors.rake +3 -2
  187. data/tasks/bacon.rake +13 -11
  188. data/tasks/changelog.rake +1 -0
  189. data/tasks/gem.rake +13 -11
  190. data/tasks/manifest.rake +2 -1
  191. data/tasks/release.rake +11 -32
  192. data/tasks/reversion.rake +2 -1
  193. metadata +52 -75
  194. data/spec/ffi-tk/command/grid.rb +0 -6
  195. data/tasks/gem_setup.rake +0 -113
  196. data/tasks/grancher.rake +0 -12
  197. data/tasks/rcov.rake +0 -17
  198. data/tasks/setup.rake +0 -12
  199. data/tasks/ycov.rake +0 -84
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../../helper'
2
3
 
3
4
  describe Tk::Toplevel do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../lib/ffi-tk'
2
3
  require 'bacon'
3
- Bacon.summary_at_exit
4
+
5
+ Bacon.summary_at_exit
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Once git has a fix for the glibc in handling .mailmap and another fix for
2
3
  # allowing empty mail address to be mapped in .mailmap we won't have to handle
3
4
  # them manually.
@@ -14,8 +15,8 @@ task :authors do
14
15
  io.puts "Following persons have contributed to #{GEMSPEC.name}."
15
16
  io.puts '(Sorted by number of submitted patches, then alphabetically)'
16
17
  io.puts ''
17
- authors.sort_by{|(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
18
- io.puts("%6d %s <%s>" % [count, name, email])
18
+ authors.sort_by { |(n, _e), c| [-c, n.downcase] }.each do |(name, email), count|
19
+ io.puts('%6d %s <%s>' % [count, name, email])
19
20
  end
20
21
  end
21
22
  end
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
  desc 'Run all bacon specs with pretty output'
2
- task :bacon => :setup do
3
+ task :bacon do
3
4
  require 'open3'
4
5
  require 'scanf'
5
6
  require 'matrix'
@@ -8,24 +9,25 @@ task :bacon => :setup do
8
9
 
9
10
  some_failed = false
10
11
  specs_size = specs.size
11
- len = specs.map{|s| s.size }.sort.last
12
- total_tests = total_assertions = total_failures = total_errors = 0
12
+ len = specs.map(&:size).sort.last
13
13
  totals = Vector[0, 0, 0, 0]
14
14
 
15
- red, yellow, green = "\e[31m%s\e[0m", "\e[33m%s\e[0m", "\e[32m%s\e[0m"
15
+ red = "\e[31m%s\e[0m"
16
+ yellow = "\e[33m%s\e[0m"
17
+ green = "\e[32m%s\e[0m"
16
18
  left_format = "%4d/%d: %-#{len + 11}s"
17
- spec_format = "%d specifications (%d requirements), %d failures, %d errors"
19
+ spec_format = '%d specifications (%d requirements), %d failures, %d errors'
18
20
 
19
21
  specs.each_with_index do |spec, idx|
20
22
  print(left_format % [idx + 1, specs_size, spec])
21
23
 
22
- Open3.popen3(RUBY, spec) do |sin, sout, serr|
24
+ Open3.popen3(FileUtils::RUBY, spec) do |_sin, sout, serr|
23
25
  out = sout.read.strip
24
26
  err = serr.read.strip
25
27
 
26
28
  # this is conventional, see spec/innate/state/fiber.rb for usage
27
29
  if out =~ /^Bacon::Error: (needed .*)/
28
- puts(yellow % ("%6s %s" % ['', $1]))
30
+ puts(yellow % ('%6s %s' % ['', Regexp.last_match(1)]))
29
31
  else
30
32
  total = nil
31
33
 
@@ -40,19 +42,19 @@ task :bacon => :setup do
40
42
 
41
43
  if total
42
44
  totals += total
43
- tests, assertions, failures, errors = total_array = total.to_a
45
+ tests, _, failures, errors = total.to_a
44
46
 
45
47
  if tests > 0 && failures + errors == 0
46
- puts((green % "%6d passed") % tests)
48
+ puts((green % '%6d passed') % tests)
47
49
  else
48
50
  some_failed = true
49
- puts(red % " failed")
51
+ puts(red % ' failed')
50
52
  puts out unless out.empty?
51
53
  puts err unless err.empty?
52
54
  end
53
55
  else
54
56
  some_failed = true
55
- puts(red % " failed")
57
+ puts(red % ' failed')
56
58
  puts out unless out.empty?
57
59
  puts err unless err.empty?
58
60
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  desc 'update changelog'
2
3
  task :changelog do
3
4
  File.open('CHANGELOG', 'w+') do |changelog|
@@ -1,22 +1,24 @@
1
- require 'rake/gempackagetask'
1
+ # frozen_string_literal: true
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
2
4
 
3
- task :gemspec => [:manifest, :changelog] do
5
+ task gemspec: [:manifest, :changelog] do
4
6
  gemspec_file = "#{GEMSPEC.name}.gemspec"
5
- File.open(gemspec_file, 'w+'){|gs| gs.puts(GEMSPEC.to_ruby) }
7
+ File.open(gemspec_file, 'w+') { |gs| gs.puts(GEMSPEC.to_ruby) }
6
8
  end
7
9
 
8
- desc "package and install from gemspec"
9
- task :install => [:gemspec] do
10
- sh "gem build #{GEMSPEC.name}.gemspec"
11
- sh "gem install #{GEMSPEC.name}-#{GEMSPEC.version}.gem"
10
+ desc 'package and install from gemspec'
11
+ task install: [:gemspec] do
12
+ sh 'gem', 'build', "#{GEMSPEC.name}.gemspec"
13
+ sh 'gem', 'install', "#{GEMSPEC.name}-#{GEMSPEC.version}.gem"
12
14
  end
13
15
 
14
- desc "uninstall the gem"
15
- task :uninstall => [:clean] do
16
- sh %{gem uninstall -x #{GEMSPEC.name}}
16
+ desc 'uninstall the gem'
17
+ task uninstall: [:clean] do
18
+ sh %(gem uninstall -x #{GEMSPEC.name})
17
19
  end
18
20
 
19
- Rake::GemPackageTask.new(GEMSPEC) do |p|
21
+ Gem::PackageTask.new(GEMSPEC) do |p|
20
22
  p.need_tar = true
21
23
  p.need_zip = true
22
24
  end
@@ -1,4 +1,5 @@
1
+ # frozen_string_literal: true
1
2
  desc 'update manifest'
2
3
  task :manifest do
3
- File.open('MANIFEST', 'w+'){|io| io.puts(*GEMSPEC.files) }
4
+ File.open('MANIFEST', 'w+') { |io| io.puts(*GEMSPEC.files) }
4
5
  end
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  namespace :release do
2
- task :prepare => [:reversion, :authors, :gemspec]
3
- task :all => ['release:github', 'release:rubyforge', 'release:gemcutter']
3
+ task prepare: [:reversion, :authors, :gemspec]
4
+ task all: ['release:github', 'release:rubygems']
4
5
 
5
6
  desc 'Release on github'
6
- task :github => :prepare do
7
- name, version = GEMSPEC.name, GEMSPEC.version
7
+ task github: :prepare do
8
+ name = GEMSPEC.name
9
+ version = GEMSPEC.version
8
10
 
9
11
  sh('git', 'add',
10
12
  'MANIFEST', 'CHANGELOG', 'AUTHORS',
@@ -24,38 +26,15 @@ git push
24
26
  INSTRUCTIONS
25
27
  end
26
28
 
27
- desc 'Release on rubyforge'
28
- task :rubyforge => ['release:prepare', :package] do
29
- name, version = GEMSPEC.name, GEMSPEC.version
30
-
31
- pkgs = Dir["pkg/#{name}-#{version}.{tgz,zip}"].map{|file|
32
- "rubyforge add_file #{name} #{name} '#{version}' '#{file}'"
33
- }
34
-
35
- puts <<-INSTRUCTIONS
36
- ================================================================================
37
-
38
- To publish to rubyforge do following:
39
-
40
- rubyforge login
41
- rubyforge add_release #{name} #{name} '#{version}' pkg/#{name}-#{version}.gem
42
-
43
- To publish the archives for distro packagers:
44
-
45
- #{pkgs.join "\n"}
46
-
47
- ================================================================================
48
- INSTRUCTIONS
49
- end
50
-
51
- desc 'Release on gemcutter'
52
- task :gemcutter => ['release:prepare', :package] do
53
- name, version = GEMSPEC.name, GEMSPEC.version
29
+ desc 'Release on rubygems'
30
+ task rubygems: ['release:prepare', :package] do
31
+ name = GEMSPEC.name
32
+ version = GEMSPEC.version
54
33
 
55
34
  puts <<-INSTRUCTIONS
56
35
  ================================================================================
57
36
 
58
- To publish to gemcutter do following:
37
+ To publish to rubygems do following:
59
38
 
60
39
  gem push pkg/#{name}-#{version}.gem
61
40
 
@@ -1,4 +1,5 @@
1
- desc "update version.rb"
1
+ # frozen_string_literal: true
2
+ desc 'update version.rb'
2
3
  task :reversion do
3
4
  File.open("lib/#{GEMSPEC.name}/version.rb", 'w+') do |file|
4
5
  file.puts("module #{PROJECT_MODULE}")
metadata CHANGED
@@ -1,64 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ffi-tk
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 2010
7
- - 8
8
- - 23
9
- version: 2010.08.23
3
+ version: !ruby/object:Gem::Version
4
+ version: 2018.02.20
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Michael 'manveru' Fellinger
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-08-23 00:00:00 +09:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2018-02-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: ffi
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - "="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- - 6
31
- - 3
32
- version: 0.6.3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
33
20
  type: :runtime
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: bacon
37
21
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 1
45
- - 1
46
- - 0
47
- version: 1.1.0
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bacon
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.2'
48
34
  type: :development
49
- version_requirements: *id002
50
- description: Pure Ruby FFI wrapper for the Tk GUI toolkit.
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.2'
41
+ description: Comfortably talk with Tcl/Tk using FFI.
51
42
  email: m.fellinger@gmail.com
52
43
  executables: []
53
-
54
44
  extensions: []
55
-
56
45
  extra_rdoc_files: []
57
-
58
- files:
59
- - .gitignore
46
+ files:
47
+ - ".gitignore"
48
+ - ".rubocop.yml"
49
+ - ".rubocop_todo.yml"
60
50
  - AUTHORS
61
51
  - CHANGELOG
52
+ - Gemfile
53
+ - Gemfile.lock
62
54
  - MANIFEST
63
55
  - README.md
64
56
  - Rakefile
@@ -85,6 +77,7 @@ files:
85
77
  - example/various.rb
86
78
  - example/wait.rb
87
79
  - ffi-tk.gemspec
80
+ - gemset.nix
88
81
  - lib/ffi-tk.rb
89
82
  - lib/ffi-tk/command.rb
90
83
  - lib/ffi-tk/command/after.rb
@@ -186,11 +179,11 @@ files:
186
179
  - lib/ffi-tk/widget/tile/style.rb
187
180
  - lib/ffi-tk/widget/tile/treeview.rb
188
181
  - lib/ffi-tk/widget/toplevel.rb
182
+ - shell.nix
189
183
  - spec/ffi-tk/command/bind.rb
190
184
  - spec/ffi-tk/command/bindtags.rb
191
185
  - spec/ffi-tk/command/clipboard.rb
192
186
  - spec/ffi-tk/command/font.rb
193
- - spec/ffi-tk/command/grid.rb
194
187
  - spec/ffi-tk/command/image.rb
195
188
  - spec/ffi-tk/command/pack.rb
196
189
  - spec/ffi-tk/command/place.rb
@@ -242,47 +235,31 @@ files:
242
235
  - tasks/bacon.rake
243
236
  - tasks/changelog.rake
244
237
  - tasks/gem.rake
245
- - tasks/gem_setup.rake
246
- - tasks/grancher.rake
247
238
  - tasks/manifest.rake
248
- - tasks/rcov.rake
249
239
  - tasks/release.rake
250
240
  - tasks/reversion.rake
251
- - tasks/setup.rake
252
- - tasks/ycov.rake
253
- has_rdoc: true
254
241
  homepage: http://github.com/manveru/ffi-tk
255
- licenses: []
256
-
242
+ licenses:
243
+ - MIT
244
+ metadata: {}
257
245
  post_install_message:
258
246
  rdoc_options: []
259
-
260
- require_paths:
247
+ require_paths:
261
248
  - lib
262
- required_ruby_version: !ruby/object:Gem::Requirement
263
- none: false
264
- requirements:
249
+ required_ruby_version: !ruby/object:Gem::Requirement
250
+ requirements:
265
251
  - - ">="
266
- - !ruby/object:Gem::Version
267
- segments:
268
- - 0
269
- version: "0"
270
- required_rubygems_version: !ruby/object:Gem::Requirement
271
- none: false
272
- requirements:
252
+ - !ruby/object:Gem::Version
253
+ version: '0'
254
+ required_rubygems_version: !ruby/object:Gem::Requirement
255
+ requirements:
273
256
  - - ">="
274
- - !ruby/object:Gem::Version
275
- segments:
276
- - 1
277
- - 3
278
- - 3
257
+ - !ruby/object:Gem::Version
279
258
  version: 1.3.3
280
259
  requirements: []
281
-
282
260
  rubyforge_project:
283
- rubygems_version: 1.3.7
261
+ rubygems_version: 2.6.13
284
262
  signing_key:
285
- specification_version: 3
263
+ specification_version: 4
286
264
  summary: Pure Ruby FFI wrapper for the Tk GUI toolkit.
287
265
  test_files: []
288
-
@@ -1,6 +0,0 @@
1
- require_relative '../../helper'
2
-
3
- Tk.init
4
-
5
- describe Tk::Grid do
6
- end
@@ -1,113 +0,0 @@
1
- task :gem_setup do
2
- class GemSetup
3
- def initialize(options = {}, &block)
4
- @gems = []
5
- @options = options.dup
6
- @verbose = @options.delete(:verbose)
7
-
8
- run(&block)
9
- end
10
-
11
- def run(&block)
12
- return unless block_given?
13
- instance_eval(&block)
14
- setup
15
- end
16
-
17
- def gem(name, version = nil, options = {})
18
- if version.respond_to?(:merge!)
19
- options = version
20
- else
21
- options[:version] = version
22
- end
23
-
24
- @gems << [name, options]
25
- end
26
-
27
- # all gems defined, let's try to load/install them
28
- def setup
29
- require 'rubygems'
30
- require 'rubygems/dependency_installer'
31
-
32
- @gems.each do |name, options|
33
- setup_gem(name, options)
34
- end
35
- end
36
-
37
- def setup_gemspec(gemspec)
38
- gemspec.dependencies.each do |dependency|
39
- dependency.version_requirements.as_list.each do |version|
40
- gem(dependency.name, version)
41
- end
42
- end
43
-
44
- setup
45
- end
46
-
47
- # First try to activate.
48
- # If activation fails, try to install and activate again.
49
- # If the second activation also fails, try to require as it may just as
50
- # well be in $LOAD_PATH.
51
- def setup_gem(name, options)
52
- version = [options[:version]].compact
53
- lib_name = options[:lib] || name
54
-
55
- log "activating #{name}"
56
-
57
- Gem.activate(name, *version)
58
- rescue Gem::LoadError
59
- log "activating #{name} failed, try to install"
60
-
61
- install_gem(name, version, options)
62
- end
63
-
64
- # tell rubygems to install a gem
65
- def install_gem(name, version, options)
66
- installer = Gem::DependencyInstaller.new(options)
67
-
68
- temp_argv(options[:extconf]) do
69
- log "installing #{name}"
70
- installer.install(name, *version)
71
- end
72
-
73
- Gem.activate(name, *version)
74
-
75
- log "install and final activation successful"
76
- rescue Gem::GemNotFoundException => ex
77
- log "installation failed: #{ex}, use normal require"
78
-
79
- require(options[:lib] || name)
80
-
81
- log "require successful, cannot verify version though"
82
- end
83
-
84
- # prepare ARGV for rubygems installer
85
- def temp_argv(extconf)
86
- if extconf ||= @options[:extconf]
87
- old_argv = ARGV.clone
88
- ARGV.replace(extconf.split(' '))
89
- end
90
-
91
- yield
92
-
93
- ensure
94
- ARGV.replace(old_argv) if extconf
95
- end
96
-
97
- private
98
-
99
- def log(msg)
100
- return unless @verbose
101
-
102
- if defined?(Log)
103
- Log.info(msg)
104
- else
105
- puts(msg)
106
- end
107
- end
108
-
109
- def rubyforge; 'http://gems.rubyforge.org/' end
110
- def github; 'http://gems.github.com/' end
111
- def gemcutter; 'http://gemcutter.org' end
112
- end
113
- end