rbs_rails 0.2.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +3 -2
  6. data/README.md +33 -35
  7. data/Rakefile +14 -1
  8. data/Steepfile +12 -1
  9. data/assets/sig/action_mailer.rbs +6 -3
  10. data/assets/sig/capybara.rbs +14 -0
  11. data/assets/sig/concurrent.rbs +4 -0
  12. data/assets/sig/erb.rbs +4 -0
  13. data/assets/sig/erubi.rbs +4 -0
  14. data/assets/sig/i18n.rbs +4 -0
  15. data/assets/sig/minitest.rbs +12 -1
  16. data/assets/sig/pg.rbs +5 -0
  17. data/assets/sig/que.rbs +4 -0
  18. data/assets/sig/queue_classic.rbs +4 -0
  19. data/assets/sig/racc.rbs +4 -0
  20. data/assets/sig/rack-test.rbs +6 -0
  21. data/assets/sig/rack.rbs +47 -0
  22. data/assets/sig/rails.rbs +7 -8
  23. data/assets/sig/rdoc.rbs +9 -0
  24. data/assets/sig/sidekiq.rbs +4 -0
  25. data/assets/sig/sneakers.rbs +4 -0
  26. data/assets/sig/stdlib.rbs +15 -5
  27. data/assets/sig/sucker_punch.rbs +4 -0
  28. data/assets/sig/thor.rbs +12 -0
  29. data/assets/sig/tzinfo.rbs +4 -0
  30. data/bin/add-type-params.rb +39 -13
  31. data/bin/postprocess.rb +137 -0
  32. data/bin/rbs +30 -0
  33. data/bin/rbs-prototype-rb.rb +195 -0
  34. data/bin/to-ascii.rb +5 -0
  35. data/lib/rbs_rails/active_record.rb +78 -33
  36. data/lib/rbs_rails/rake_task.rb +75 -0
  37. data/lib/rbs_rails/version.rb +1 -1
  38. data/rbs_rails.gemspec +1 -0
  39. data/sig/fileutils.rbs +1 -0
  40. data/sig/rake.rbs +6 -0
  41. data/sig/rbs_rails/active_record.rbs +4 -4
  42. data/sig/rbs_rails/rake_task.rbs +20 -0
  43. metadata +45 -12
  44. data/assets/sig/action_controller.rbs +0 -44
  45. data/assets/sig/action_view.rbs +0 -3
  46. data/assets/sig/active_record.rbs +0 -130
  47. data/assets/sig/generated/activemodel.rbs +0 -3877
  48. data/assets/sig/generated/activesupport.rbs +0 -11480
  49. data/bin/merge-duplicate-decls.rb +0 -30
@@ -1,30 +0,0 @@
1
- require 'rbs'
2
- rbs = ARGF.read
3
-
4
- decls = RBS::Parser.parse_signature(rbs)
5
- decl_map = {}
6
- decls.each do |decl|
7
- if d = decl_map[decl.name]
8
- # TODO: Is it right for decl is not a class / module?
9
- c = RBS::AST::Declarations::Class
10
- m = RBS::AST::Declarations::Module
11
- e = RBS::AST::Declarations::Extension
12
- raise 'class mismatch' if d.class != decl.class
13
- raise 'class mismatch' unless [c,m,e].include?(d.class)
14
-
15
- d.members.concat decl.members
16
- d.members.uniq! { if _1.is_a?(RBS::AST::Members::MethodDefinition) then [_1.name, _1.singleton?] else _1 end}
17
- case d
18
- when c
19
- decl_map[decl.name] = c.new(name: d.name, type_params: d.type_params, super_class: d.super_class || decl.super_class, members: d.members, annotations: d.annotations, location: d.location, comment: d.comment)
20
- when m
21
- decl_map[decl.name] = m.new(name: d.name, type_params: d.type_params, members: d.members, self_type: d.self_type, annotations: d.annotations, location: d.location, comment: d.comment)
22
- when e
23
- decl_map[decl.name] = e.new(name: d.name, type_params: d.type_params, extension_name: d.extension_name, members: d.members, annotations: d.annotations, location: d.location, comment: d.comment)
24
- end
25
- else
26
- decl_map[decl.name] = decl
27
- end
28
- end
29
-
30
- puts RBS::Writer.new(out: $stdout).write(decl_map.values)