bumblemvp 1.0.3 → 1.0.4

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: c438a9b2015f417f83e6bf5720fec9c941ae7516
4
- data.tar.gz: 3673d3a8a135024183cec1b7f92f1082128e6109
3
+ metadata.gz: b31ed29db6a63c0ff890a89eedb06e8505e02c60
4
+ data.tar.gz: 7c4398037537b4406e1c86d021a962828d4f27b0
5
5
  SHA512:
6
- metadata.gz: ff0f6134696e84ecf668d8b41c2c1e9fb8486b330756f20e4d3abbabe36f214f43dfe82d62a5e693a8df4d177534e1341cb6dd04e0e87049e7366036fb32d5ee
7
- data.tar.gz: e59af7334d570a66fe42788847590bb8f761ae4859d7034befdde7ae454ed6b81dfdafad1c1926ad28d34b51a3bd539e50843c4fdd8c0f586e8ba64710aac61b
6
+ metadata.gz: 797abaa8b7e84ee8fdab1634277a198992b976b93ca0582be5b62cb993e6cafdd571492fbf89cbc56353a5f83d24ef8c7ad2d1269dbf3b6907c09d78e4ede9bd
7
+ data.tar.gz: 1555d2815a005eaaba6512ef2bfd0d4aaf7fc263d1467d7cbedba3b65cde071fbb7130c49aaec40ff3e162ac518704f45bb20a95a652d2139f316e1ad7414f0d
data/README.md CHANGED
@@ -12,10 +12,12 @@ $ gem install bumblemvp
12
12
 
13
13
  ## Usage
14
14
 
15
- Say you want to create an entity like a Task for your To-do app
15
+ Say you want to create an entity like a Task for your To-do app.
16
+ #### Make sure your in your java files folder of your project in command line
17
+ (I haven't figured out a clever way create files from the app/ root. Pull requests welcome 😀)
16
18
 
17
19
  ```
18
- bumble generate Task
20
+ bumble generate User
19
21
  ```
20
22
 
21
23
  This generates a new package for the Task entity, as well as sets up some basic skeleton interfaces for the View and Presenters objects
@@ -27,11 +29,11 @@ This generates a new package for the Task entity, as well as sets up some basic
27
29
  ├── User.java
28
30
  └── source
29
31
  ├── UserDataSource.java
30
- ├── UserRespository.java
32
+ ├── UserRepository.java
31
33
  ├── local
32
34
  └── remote
33
35
  ```
34
-
36
+
35
37
  Bumble was developed using [Google's Samples](https://github.com/googlesamples/android-architecture/tree/todo-mvp/)
36
38
 
37
39
  ## Development
data/lib/bumble.rb CHANGED
@@ -12,11 +12,11 @@ module Bumble
12
12
  # Create the data directory for model
13
13
  _root = FileUtils.pwd
14
14
  cap_entity = entity.capitalize
15
- puts "\n\e[4mModel\e[0m"
15
+ puts "\n\e[4mModel\e[0m" ## underlines
16
16
  genereate_model(cap_entity)
17
17
  FileUtils.cd(_root)
18
18
  # Create presentors
19
- puts "\n\e[4mView-Presenter\e[0m"
19
+ puts "\n\e[4mView-Presenter\e[0m" # underlines
20
20
  generate_vp(cap_entity)
21
21
  end
22
22
 
@@ -34,15 +34,17 @@ module Bumble
34
34
  FileUtils.touch(file) unless File.exist? file
35
35
  end
36
36
 
37
+ ## Creates contract with presenter and view in model/folder
37
38
  def generate_vp(entity)
38
39
 
39
40
  make_dir(entity.downcase)
40
41
  FileUtils.cd(entity)
41
42
 
42
- contract = "#{entity}Contract.java"
43
- make_file(contract)
43
+ contract = "#{entity}sContract.java"
44
44
 
45
+ make_file(contract)
45
46
  write(contract,create_contract(entity))
47
+
46
48
  end
47
49
 
48
50
  # Creates directories:
@@ -73,22 +75,22 @@ module Bumble
73
75
  make_dir(remotedir)
74
76
 
75
77
  # Write Interface
76
- entity_src ="#{entity}DataSource.java"
78
+ entity_src ="#{entity}sDataSource.java"
77
79
  make_file(entity_src)
78
80
  write(entity_src,create_data_src(entity))
79
81
 
80
82
  # Write Implementation Skeleton
81
- entity_repo = "#{entity}Respository.java"
83
+ entity_repo = "#{entity}sRepository.java"
82
84
  make_file(entity_repo)
83
85
  write(entity_repo,create_data_repo(entity))
84
86
  end
85
87
 
86
88
  def create_model(model)
87
- return "public class #{model} {\n//TODO \n}"
89
+ return "//TODO set package\npublic class #{model} {\n//TODO \n}"
88
90
  end
89
91
 
90
92
  def create_contract(model)
91
- return "interface #{model}sContract {
93
+ return "//TODO set package \nimport java.util.List;\ninterface #{model}sContract {
92
94
 
93
95
  interface View {
94
96
 
@@ -110,18 +112,28 @@ module Bumble
110
112
  }"
111
113
  end
112
114
 
113
- def create_data_src(model)
114
- return "public class #{model}sRespository implements #{model}sDataSource {
115
+ def create_data_repo(model)
116
+ src_interface = "#{model}sDataSource"
117
+ repo_class= "#{model}sRepository"
118
+ src_remote = "m#{model}sRemoteDataSource"
119
+ src_local ="m#{model}sLocalDataSource"
120
+ return "//TODO set package \n\nimport java.util.List;\npublic class #{repo_class} implements #{src_interface} {
121
+
122
+ private static #{repo_class} INSTANCE = null;
115
123
 
116
- private static #{model}sRepository INSTANCE = null;
124
+ private final #{src_interface} #{src_remote};
117
125
 
118
- private final #{model}sDataSource m#{model}sRemoteDataSource;
126
+ private final #{src_interface} #{src_local};
119
127
 
120
- private final #{model}sDataSource m#{model}sLocalDataSource;
128
+ public #{repo_class}(#{src_interface} mRemoteDataSource, #{src_interface} mLocalDataSource) {
129
+ this.#{src_remote} = mRemoteDataSource;
130
+ this.#{src_local} = mLocalDataSource;
131
+ }
121
132
 
122
- public static #{model}sRepository getInstance() {
133
+ public static #{repo_class} getInstance(#{src_interface} remoteSrc,
134
+ #{src_interface} localSrc) {
123
135
  if (INSTANCE == null) {
124
- INSTANCE = new #{model}sRepository();
136
+ INSTANCE = new #{repo_class}(remoteSrc,localSrc);
125
137
  }
126
138
  return INSTANCE;
127
139
  }
@@ -134,8 +146,8 @@ module Bumble
134
146
  }"
135
147
  end
136
148
 
137
- def create_data_repo(model)
138
- return "public interface #{model}sDataSource {
149
+ def create_data_src(model)
150
+ return "//TODO set package \nimport java.util.List;\n public interface #{model}sDataSource {
139
151
 
140
152
  interface Load#{model}sCallback {
141
153
 
@@ -151,12 +163,26 @@ module Bumble
151
163
  void onDataNotAvailable();
152
164
  }
153
165
 
154
- void get#{model}s(Load#{model}sCallback callback)
155
- void get#{model}(String id, Get#{model}Callback callback)
156
- void save(#{model} saveItem)
166
+ void get#{model}s(Load#{model}sCallback callback);
167
+ void get#{model}(String id, Get#{model}Callback callback);
168
+ void save(#{model} saveItem);
157
169
  void delete#{model}(String id);
158
170
  void deleteAll#{model}s();
159
171
  }"
160
172
  end
173
+
174
+ def create_activity(model)
175
+ return "import android.support.v7.app.AppCompatActivity;
176
+ import android.os.Bundle;
177
+
178
+ public class #{model}Activity extends AppCompatActivity {
179
+
180
+ @Override
181
+ protected void onCreate(Bundle savedInstanceState) {
182
+ super.onCreate(savedInstanceState);
183
+ //TODO setContentView(R.layout.activity_#{model});
184
+ }
185
+ }"
186
+ end
161
187
  end
162
188
  end
@@ -1,3 +1,3 @@
1
1
  module Bumble
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bumblemvp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - robertsimoes