frap 0.2.1 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2113fe87e979c5dcc6f1068901f9addbb33398ef7bbc54d138d87c37b3813145
4
- data.tar.gz: 75f07d7ef133da72c45d1086b28e3054020a6aadeb889a5dc06ad90a2598a9f5
3
+ metadata.gz: ac19b3b7efe60fc1a00270be25530fbaf8d998653848578b34c70ed2cb5c8f9d
4
+ data.tar.gz: 53ca394edb94a37d41bea02382bd91b89a50b8ee9a858eb88b90962984354cdd
5
5
  SHA512:
6
- metadata.gz: 2199c30717694e927e1275b0c4c661302b7e1e6f04db69ba06b05f4cee4486aaf440340f0ad7aa85b96a364944d9f193c63dc23fd3f6d350c482f2fd5bb77e92
7
- data.tar.gz: 93bdd37d1101b04848a6bdcd86cf69c89c2806548c53f2c54c07f0546d2b5374cc798dab578ecb267741e3021da42eeda80570f5ddfdb7210939fda28623e72d
6
+ metadata.gz: 0b2951fb48b358db1cea3a4a70c415e2e5532d7543a980f4f11a18f8c114961f32a1118ae7dc9ab1df1e7f1f9d1347be9e7204fe3773bf447df9bf45adfe74d0
7
+ data.tar.gz: c7c3cc4b5eddc9c371c7cf2b8f0c141033be6c5ab347e678040b079cad70dd9ca05ecc780e92e54059758685593b4804cea9d92d30bfabbad58a497bcb7cc694
data/.gitignore CHANGED
@@ -15,4 +15,5 @@
15
15
 
16
16
  *.gem
17
17
  /test_app/**/*
18
-
18
+ /frap_test_suite_app/**/*
19
+ /test_app_create_spec/**/*
@@ -4,4 +4,7 @@ language: ruby
4
4
  cache: bundler
5
5
  rvm:
6
6
  - 2.6.1
7
- before_install: gem install bundler -v 2.0.2
7
+ before_install:
8
+ - gem install bundler -v 2.0.2
9
+ - git clone https://github.com/flutter/flutter.git
10
+ - export PATH="$PATH:`pwd`/flutter/bin"
@@ -1,12 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- frap (0.2.1)
4
+ frap (0.2.2)
5
5
  thor (~> 0.20.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
+ actioncable (5.2.3)
11
+ actionpack (= 5.2.3)
12
+ nio4r (~> 2.0)
13
+ websocket-driver (>= 0.6.1)
14
+ actionmailer (5.2.3)
15
+ actionpack (= 5.2.3)
16
+ actionview (= 5.2.3)
17
+ activejob (= 5.2.3)
18
+ mail (~> 2.5, >= 2.5.4)
19
+ rails-dom-testing (~> 2.0)
10
20
  actionpack (5.2.3)
11
21
  actionview (= 5.2.3)
12
22
  activesupport (= 5.2.3)
@@ -20,33 +30,77 @@ GEM
20
30
  erubi (~> 1.4)
21
31
  rails-dom-testing (~> 2.0)
22
32
  rails-html-sanitizer (~> 1.0, >= 1.0.3)
33
+ activejob (5.2.3)
34
+ activesupport (= 5.2.3)
35
+ globalid (>= 0.3.6)
36
+ activemodel (5.2.3)
37
+ activesupport (= 5.2.3)
38
+ activerecord (5.2.3)
39
+ activemodel (= 5.2.3)
40
+ activesupport (= 5.2.3)
41
+ arel (>= 9.0)
42
+ activestorage (5.2.3)
43
+ actionpack (= 5.2.3)
44
+ activerecord (= 5.2.3)
45
+ marcel (~> 0.3.1)
23
46
  activesupport (5.2.3)
24
47
  concurrent-ruby (~> 1.0, >= 1.0.2)
25
48
  i18n (>= 0.7, < 2)
26
49
  minitest (~> 5.1)
27
50
  tzinfo (~> 1.1)
51
+ arel (9.0.0)
52
+ bootsnap (1.1.0)
53
+ msgpack (~> 1.0)
28
54
  builder (3.2.3)
29
55
  concurrent-ruby (1.1.5)
30
56
  crass (1.0.4)
31
57
  diff-lcs (1.3)
32
58
  erubi (1.8.0)
59
+ ffi (1.11.1)
60
+ globalid (0.4.2)
61
+ activesupport (>= 4.2.0)
33
62
  i18n (1.6.0)
34
63
  concurrent-ruby (~> 1.0)
64
+ listen (3.1.5)
65
+ rb-fsevent (~> 0.9, >= 0.9.4)
66
+ rb-inotify (~> 0.9, >= 0.9.7)
67
+ ruby_dep (~> 1.2)
35
68
  loofah (2.2.3)
36
69
  crass (~> 1.0.2)
37
70
  nokogiri (>= 1.5.9)
71
+ mail (2.7.1)
72
+ mini_mime (>= 0.1.1)
73
+ marcel (0.3.3)
74
+ mimemagic (~> 0.3.2)
38
75
  method_source (0.9.2)
76
+ mimemagic (0.3.3)
77
+ mini_mime (1.0.2)
39
78
  mini_portile2 (2.4.0)
40
79
  minitest (5.11.3)
80
+ msgpack (1.3.1)
81
+ nio4r (2.4.0)
41
82
  nokogiri (1.10.3)
42
83
  mini_portile2 (~> 2.4.0)
43
84
  rack (2.0.7)
44
85
  rack-test (1.1.0)
45
86
  rack (>= 1.0, < 3)
87
+ rails (5.2.3)
88
+ actioncable (= 5.2.3)
89
+ actionmailer (= 5.2.3)
90
+ actionpack (= 5.2.3)
91
+ actionview (= 5.2.3)
92
+ activejob (= 5.2.3)
93
+ activemodel (= 5.2.3)
94
+ activerecord (= 5.2.3)
95
+ activestorage (= 5.2.3)
96
+ activesupport (= 5.2.3)
97
+ bundler (>= 1.3.0)
98
+ railties (= 5.2.3)
99
+ sprockets-rails (>= 2.0.0)
46
100
  rails-dom-testing (2.0.3)
47
101
  activesupport (>= 4.2.0)
48
102
  nokogiri (>= 1.6)
49
- rails-html-sanitizer (1.0.4)
103
+ rails-html-sanitizer (1.2.0)
50
104
  loofah (~> 2.2, >= 2.2.2)
51
105
  railties (5.2.3)
52
106
  actionpack (= 5.2.3)
@@ -55,6 +109,9 @@ GEM
55
109
  rake (>= 0.8.7)
56
110
  thor (>= 0.19.0, < 2.0)
57
111
  rake (10.5.0)
112
+ rb-fsevent (0.10.3)
113
+ rb-inotify (0.10.0)
114
+ ffi (~> 1.0)
58
115
  rspec (3.7.0)
59
116
  rspec-core (~> 3.7.0)
60
117
  rspec-expectations (~> 3.7.0)
@@ -68,20 +125,35 @@ GEM
68
125
  diff-lcs (>= 1.2.0, < 2.0)
69
126
  rspec-support (~> 3.7.0)
70
127
  rspec-support (3.7.1)
128
+ ruby_dep (1.5.0)
129
+ sprockets (3.7.2)
130
+ concurrent-ruby (~> 1.0)
131
+ rack (> 1, < 3)
132
+ sprockets-rails (3.2.1)
133
+ actionpack (>= 4.0)
134
+ activesupport (>= 4.0)
135
+ sprockets (>= 3.0.0)
136
+ sqlite3 (1.4.1)
71
137
  thor (0.20.3)
72
138
  thread_safe (0.3.6)
73
139
  tzinfo (1.2.5)
74
140
  thread_safe (~> 0.1)
141
+ websocket-driver (0.7.1)
142
+ websocket-extensions (>= 0.1.0)
143
+ websocket-extensions (0.1.4)
75
144
 
76
145
  PLATFORMS
77
146
  ruby
78
147
 
79
148
  DEPENDENCIES
149
+ bootsnap (= 1.1.0)
80
150
  bundler (~> 2.0.2)
81
151
  frap!
82
- railties (~> 5.2.3)
152
+ listen (~> 3.1.5)
153
+ rails (= 5.2.3)
83
154
  rake (~> 10.0)
84
155
  rspec (~> 3.7.0)
156
+ sqlite3 (~> 1.3)
85
157
 
86
158
  BUNDLED WITH
87
159
  2.0.2
@@ -36,5 +36,8 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "bundler", "~> 2.0.2"
37
37
  spec.add_development_dependency "rake", "~> 10.0"
38
38
  spec.add_development_dependency "rspec", "~> 3.7.0"
39
- spec.add_development_dependency "railties", "~> 5.2.3"
39
+ spec.add_development_dependency "bootsnap", "1.1.0"
40
+ spec.add_development_dependency "rails", "5.2.3"
41
+ spec.add_development_dependency "listen", "~> 3.1.5"
42
+ spec.add_development_dependency "sqlite3", "~> 1.3"
40
43
  end
@@ -17,7 +17,7 @@ module Frap
17
17
  private
18
18
 
19
19
  def setup_parent_directory
20
- shell.say(shell_text("Create Parent Directory #{name}"), :green)
20
+ shell.say(shell_text("Create Parent Directory #{name} in #{start_directory}"), :green)
21
21
 
22
22
  Frap::Generators::Config.new(
23
23
  [name],
@@ -74,6 +74,7 @@ module Frap
74
74
  shell.say("flutter run", :green)
75
75
 
76
76
  shell.say(shell_text('========================'), :green)
77
+ Dir.chdir(start_directory)
77
78
  end
78
79
 
79
80
  def server_name
@@ -88,6 +89,10 @@ module Frap
88
89
  @working_dir ||= "#{Dir.pwd}/#{name}"
89
90
  end
90
91
 
92
+ def start_directory
93
+ @start_directory ||= Dir.pwd
94
+ end
95
+
91
96
  def shell
92
97
  @shell ||= Thor::Shell::Color.new
93
98
  end
@@ -19,6 +19,9 @@ module Frap
19
19
 
20
20
  def create_directories
21
21
  empty_directory("#{lib_directory}/src/animations")
22
+ empty_directory("#{lib_directory}/src/blocs")
23
+ empty_directory("#{lib_directory}/src/models")
24
+ empty_directory("#{lib_directory}/src/resources")
22
25
  empty_directory("#{lib_directory}/src/config")
23
26
  empty_directory("#{lib_directory}/src/constants")
24
27
  empty_directory("#{lib_directory}/src/screens")
@@ -64,23 +67,25 @@ module Frap
64
67
  end
65
68
 
66
69
  def pub_files
67
- %Q(
68
- dio: ^2.1.13
69
- rxdart: ^0.22.0
70
- bloc_pattern: ^2.2.3
71
- http: ^0.12.0+2)
70
+ <<~EOF.chomp
71
+ \n dio: ^2.1.13
72
+ rxdart: ^0.22.0
73
+ bloc_pattern: ^2.2.3
74
+ http: ^0.12.0+2
75
+ EOF
72
76
  end
73
77
 
74
78
  def home_router
75
- %Q(
76
- case HomeScreenRoute:
77
- return SlideRightRoute(widget:HomeScreen());)
79
+ <<~EOF.chomp
80
+ \n case HomeScreenRoute:
81
+ return SlideRightRoute(widget:HomeScreen());
82
+ EOF
78
83
  end
79
84
 
80
85
  def home_route
81
- %Q(
82
- const Page(title: 'Home', icon: Icons.home, route: HomeScreenRoute),
83
- )
86
+ <<~EOF.chomp
87
+ \n const Page(title: 'Home', icon: Icons.home, route: HomeScreenRoute),
88
+ EOF
84
89
  end
85
90
  end
86
91
  end
@@ -9,6 +9,7 @@ module Frap
9
9
  argument :name
10
10
  argument :flutter_app_dir
11
11
  argument :fields
12
+
12
13
  def self.source_root
13
14
  File.dirname(__FILE__) + '/templates/dart'
14
15
  end
@@ -26,14 +27,14 @@ module Frap
26
27
  def create_files
27
28
  @name_capitalized_plural = name_capitalize_pluralize
28
29
  @name_capitalized_single = name_capitalized_single
29
- @name_downcased_plural = name_downcase_pluralize
30
+ @name_downcased_plural = name_downcased_pluralize
30
31
  @lower_name = lower_name
31
32
  @field_types = build_fields
32
33
  @field_names = fields.keys
33
34
  template('src/screens/base_index.dart.erb', "#{screen_path}/#{lower_name}_index_screen.dart")
34
35
  template('src/screens/base_bottom_navigation.dart.erb', "#{screen_path}/#{lower_name}_show_screen.dart")
35
- template('src/blocs/base_block.dart.erb', "#{src_directory}/blocs/#{@name_downcased_plural}_bloc.dart")
36
- template('src/models/base_model.dart.erb', "#{src_directory}/models/#{@name_downcased_plural}.dart")
36
+ template('src/blocs/base_block.dart.erb', "#{src_directory}/blocs/#{name_downcased_pluralize}_bloc.dart")
37
+ template('src/models/base_model.dart.erb', "#{src_directory}/models/#{name_downcased_pluralize}.dart")
37
38
  template('src/resources/base_api_provider.dart.erb', "#{src_directory}/resources/#{lower_name}_api_provider.dart")
38
39
  invoke :connect_widgets
39
40
  end
@@ -47,9 +48,6 @@ module Frap
47
48
  inject_into_file("#{src_directory}/resources/repository.dart", repository_body, after: /^class Repository \{$/)
48
49
  append_to_file("#{src_directory}/constants/routing.dart", "const String #{name}IndexScreenRoute = '/#{lower_name.pluralize }'; \n")
49
50
  append_to_file("#{src_directory}/constants/routing.dart", "const String #{name}ShowScreenRoute = '/#{lower_name.singularize}';\n")
50
- # Here we will make sure all imports are handled:
51
- # Import new resource into routes route and constants
52
- # Index page with bottom floating button for adding
53
51
  # build detail screen with bottom navigations
54
52
  # Link navigation buttons to Edit and back to list and delete
55
53
  end
@@ -98,25 +96,29 @@ module Frap
98
96
  end
99
97
 
100
98
  def index_screen_router
101
- %Q(
102
- case #{name}IndexScreenRoute:
103
- return SlideRightRoute(widget:#{name}IndexScreen());)
99
+ <<~EOF.chomp
100
+ \n case #{name}IndexScreenRoute:
101
+ return SlideRightRoute(widget:#{name}IndexScreen());
102
+ EOF
104
103
  end
105
104
 
106
105
  def index_screen_route
107
- %Q(
108
- const Page(title: '#{name.pluralize}', icon: Icons.home, route: #{name}IndexScreenRoute),)
106
+ <<~EOF.chomp
107
+ \n const Page(title: '#{name.pluralize}', icon: Icons.home, route: #{name}IndexScreenRoute),
108
+ EOF
109
109
  end
110
110
 
111
111
  def show_screen_router
112
- %Q(
113
- case #{name}ShowScreenRoute:
114
- return SlideRightRoute(widget:#{name}ShowScreen());)
112
+ <<~EOF.chomp
113
+ \n case #{name}ShowScreenRoute:
114
+ return SlideRightRoute(widget:#{name}ShowScreen());
115
+ EOF
115
116
  end
116
117
 
117
118
  def show_screen_route
118
- %Q(
119
- const Page(title: '#{name}', icon: Icons.home, route: #{name}ShowScreenRoute),)
119
+ <<~EOF.chomp
120
+ \n const Page(title: '#{name}', icon: Icons.home, route: #{name}ShowScreenRoute),
121
+ EOF
120
122
  end
121
123
 
122
124
  def lower_name
@@ -131,26 +133,29 @@ module Frap
131
133
  name.capitalize.pluralize
132
134
  end
133
135
 
134
- def name_downcase_pluralize
136
+ def name_downcased_pluralize
135
137
  name.downcase.pluralize
136
138
  end
137
139
 
138
140
  def router_packages
139
- %Q(
140
- import 'package:#{flutter_app_dir}/src/screens/#{lower_name}/#{lower_name}_index_screen.dart';
141
- import 'package:#{flutter_app_dir}/src/screens/#{lower_name}/#{lower_name}_show_screen.dart';)
141
+ <<~EOF.chomp
142
+ \nimport 'package:#{flutter_app_dir}/src/screens/#{lower_name}/#{lower_name}_index_screen.dart';
143
+ import 'package:#{flutter_app_dir}/src/screens/#{lower_name}/#{lower_name}_show_screen.dart';
144
+ EOF
142
145
  end
143
146
 
144
147
  def repository_body
145
- %Q(
146
- final #{lower_name}ApiProvider = #{name_capitalized_single}ApiProvider();
147
- Future<#{name_capitalize_pluralize}> fetchAll#{name_capitalize_pluralize}() => #{lower_name}ApiProvider.fetchAll#{name_capitalize_pluralize}();)
148
+ <<~EOF
149
+ \n final #{lower_name}ApiProvider = #{name_capitalized_single}ApiProvider();
150
+ Future<#{name_capitalize_pluralize}> fetchAll#{name_capitalize_pluralize}() => #{lower_name}ApiProvider.fetchAll#{name_capitalize_pluralize}();
151
+ EOF
148
152
  end
149
153
 
150
154
  def repository_packages
151
- %Q(
152
- import 'package:#{flutter_app_dir}/src/resources/#{lower_name}_api_provider.dart';
153
- import 'package:#{flutter_app_dir}/src/models/#{name_downcase_pluralize}.dart';)
155
+ <<~EOF.chomp
156
+ \nimport 'package:#{flutter_app_dir}/src/resources/#{lower_name}_api_provider.dart';
157
+ import 'package:#{flutter_app_dir}/src/models/#{name_downcased_pluralize}.dart';
158
+ EOF
154
159
  end
155
160
  end
156
161
  end
@@ -1,3 +1,3 @@
1
1
  module Frap
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Gascoigne - Taylor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-07 00:00:00.000000000 Z
11
+ date: 2019-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -67,19 +67,61 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: 3.7.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: railties
70
+ name: bootsnap
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.1.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.1.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
74
88
  - !ruby/object:Gem::Version
75
89
  version: 5.2.3
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - '='
81
95
  - !ruby/object:Gem::Version
82
96
  version: 5.2.3
97
+ - !ruby/object:Gem::Dependency
98
+ name: listen
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 3.1.5
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 3.1.5
111
+ - !ruby/object:Gem::Dependency
112
+ name: sqlite3
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.3'
83
125
  description: CLI to create a Flutter App backed with a Rails server for quick app
84
126
  protoyping
85
127
  email: