Ruby and Enterprise Architect - ruby

I'm trying to build a class diagram in Sparx Enterprise Architect for future usage in Ruby project.
How should I set up base code datatypes (Settings -> Code Datatypes...)?
It should be something like: Datatype = Common Type (additional notes, if any). Does anyone know what pairs should be input?
I'd also highly appreciate advice on how to import the whole ruby/rails library into Sparx.
Update 1: added links to resources. It's also stated here, that they don't support reverse engineering of ruby code. So, can anyone suggest a different tool for my case?
Many thanks!
Update 2: there is actually one that I've found, but it's quite out of date. Any other ideas?

Related

How to configure PythonAnalyzer to look for standard library typings?

I am creating a PythonAnalyzer using the following code:
var interpreterFactory = InterpreterFactoryCreator.CreateAnalysisInterpreterFactory(
PythonLanguageVersion.V36.ToVersion());
var analyzer = PythonAnalyzer.Create(interpreterFactory);
Later on I also create and analyze a simple python module, that looks like this:
name = input('What is your name?\n')
print('Hi, %s.' % name)
Then I do module.Analysis.GetValuesByIndex("name", 4).
At this moment I expected the "value" to be 'str', because that's what Visual Studio shows when I open the same file in it. However, I get 'object' instead. So it seems that the PythonAnalyzer when constructed as mentioned above lacks some important information about where to look for standard library and/or its types.
Unfortunately, the documentation on PythonAnalyzer is lacking, so I was hoping the community could help understand how to configure it properly.
Congratulations on getting so far :)
What you're hitting here is the fact that CreateAnalysisInterpreterFactory is really intended for "pure" cases, where you have access to all the code that you're trying to analyze and nothing needs to be looked up. It is mostly used for the unit tests, or as a fallback when no copies of Python are installed. Depending on precisely which version of PTVS you are using, the bare information you're getting is either coming from DefaultDB\v3\python.pyi or CompletionDB\__builtin__.idb, both of which are somewhat lacking (by design).
Assuming you have a copy of Python installed, I would suggest creating an instance of InterpreterConfiguration with all of its details, and passing that to CreateInterpreterFactory (without "Analysis").
If you're on the latest sources (strongly recommended), this may run the interpreter in the background to collect information from it (you can control caching of this info with the DatabasePath and UseExistingCache members of InterpreterFactoryCreationOptions). If you are using the older version still, you'll need to trigger a completion DB regeneration or have one that you've created through VS.
And a final caveat: this part of PTVS is currently under some pretty heavy development at time of writing, so you'll either want to keep updating the version you're working against or stick with a slightly older one. Also feel free to post questions like this on the GitHub site, as while this is technically public API, it's barely documented at all and so the best help will come from the dev team.

Wanting to make an Xposed module

So I'm wanting to make an xposed module but cannot find any good video tutorials out there let alone an updated one also I know C# Decently and hardly any Java... Any help to help me get started would be appreciated. Thanks
You will need Java to create any Xposed modules. Android itself is based on (primarily) Java, so you will need Java knowledge to make Xposed modules.
That said, C# and Java are extremely similar languages, and you can quickly pick up the other if you know one.
As for Tutorials, Rovo89 (the creator of Xposed) has a simple tutorial here at https://github.com/rovo89/XposedBridge/wiki/Development-tutorial. This tutorial is almost completely upto-date, and you can use this to create your first module.
You will find another detailed tutorial here - https://forum.xda-developers.com/showthread.php?t=2709324. Keep in mind that this link is very old, so wherever there are any conflicts, go by Rovo89's tutorial.
After going through the beginner tutorial mentioned by Akhil, you will want to look at the API docs http://api.xposed.info/reference/packages.html and read through source code of some huge modules like GravityBox to get an idea of how the Framework is used. For teaching purpose mod some app which is open source and then move on to closed source app by reverse engineering them. For reverse engineering I use ByteCodeViewer.

OpenERP basic reports

OpenERP is one of the best ERP applications I ever used.
I found that almost everything must be built from the beginning to meet the specific needs for each one including the analysis reports, but there are some basic packages already built.
Since I am new to OpenERP functionality and still haven't learned how to create reports in OpenERP, I need to know if there is any addons/extra module that provides me some basic and ready to print reports and listings for the several modules. This reports and listings will help me to better understand and learn the functional part of the application and will allow me on a future to better understand how to build reports and listings in OpenERP.
If anyone can provide me a link or repository with such information I will be greatfull.
Thank you very much
Regards
Paulo Matos
There are various ways of creating reports with openerp. They are (i've prioritized)
Webkit (for html,web designers - this will be a great utility)
OpenOffice (for any office person with minimal technical skills)
RML (Strictly for programmers :))
Jasper Report (good for people with java-reporting base)
Aeroo (Rich functionality of exporting to excel,word etc, still i am not comfortable in aeroo with openerp 7)
Pentaho Report Designer (A reporting tool from pentaho )
These links will help you in understanding better, setup environment and learn from the sample modules and reports. However you need to design what u need with one of the reporting type.
What's the best way to create a report on OpenERP
http://www.schenkels.nl/2013/02/custom-reports-in-openerp-what-will-you-use/
http://colinnewell.wordpress.com/2012/01/04/adding-new-reports-to-openerp/
https://doc.openerp.com/v6.1/developer/05_reports/
https://doc.openerp.com/6.1/book/8/8_20_Config/8_20_Config_reports/
Google more. You'll get everything u need. Good Luck!!
Reporting from Odoo / OpenERP can be very frustrating at times. We have found over the years that no single solution is great for every need.
The built in reporting mechanisms mentioned in the first answer (rml / openoffice) have been somewhat deprecated and replaced with qweb reporting which renders similarly in HTML or PDF. They can be difficult to get fine-grained control and alignment, a lot of work to achieve non-regular reporting structures and cross tab reports, but are fast and easy to use for straightforward "document" type reports (such as orders / invoices).
I cannot comment on Jasper or Aeroo, as I have not used them.
Using Pentaho Reports for Odoo can be great because they are primarily reporting engines. They can do wonderful things with data, present them in great ways.
One upside with this connector is its ability to access Data using the object layer, or SQL, or both in one report if necessary (using sub-reports for example), as well as custom methods!
One downside we have found with Pentaho Reporting is that as the code base changes for OpenERP/Odoo, the connector changes, and configuration has to be continually re-vesited.
The latest version supports Odoo version 8 and version 5.4 of Pentaho reporting engine.

What are the different Work Items in Team Foundation Server used for?

Please read this entire question before you try to mark this as "too controversial". I am actually setting up my Project Management/Bug Tracking environment with Team Foundation Server for the first time(I have used JIRA,Mantis and some other PM software before). I am fairly knew to using team foundation to anything else besides source control.
I am really trying to use the Work Items for what they were intended to be used for. Having said that, I want to make sure that when I am adding new work items, I am classifying them correctly.
When I choose to add a work Item, If have the following options to select from:
1)Bug
2)Issue
3)Shared Step
4)Task
5)Test Case
6)User Story
Obviously I am aware of what classifies a bug, this is not what is confusing me. What I would really like to know is, what classifies an issue? What technically classifies a Task? What is a user story? etc.
I know there may be some opinion in this, but I am really trying to organize the project, and separate all of these correctly.
This question talks about some of the stuff you've mentioned here
You can find the MSF Agile 5.0 process template guidance here. When you create a team project you should receive an option, after it's complete to read the process guidance. This is what that will take you too if you choose MSF Agile 5.0. Also take a look at the VS Scrum Process Template. It's very simple and as true to Scrum as any tool or process guidance. It was shipped out-of-band, but will be included in the next version of TFS (if not SP1).

A couple of questions on the architecture of Ruby

I am primarily a fluent .NET developer (as can be seen from the amount of posts and threads I make about .NET), but I thought it would be good to learn RoR.
In doing so, I have a few questions about the architecture of the language (Ruby) and the framework (RoR):
1) In .NET, every object is derived from System but inherits System.Object. So when I type System., I get a list of namespaces and then in those namespaces, classes and more namespaces.
Does Ruby not have this sort of hierarchy?
2) In some cases, I don't get the intellisense. For example, I wrote the class as outlined here (http://wiki.rubyonrails.org/rails/pages/HowToSendEmailsWithActionMailer) but in the line recipients user.email, nothing comes up when I type "user.".
Any idea why?
Thank
Dave Thomas (Pragmatic Programmers) has an excellent screencast series on the Ruby object model/metaprogramming. We watched this in a local Ruby user's group. The series isn't free, but it's not expensive either. You might want to check out the free preview to see if you think it is worth your time.
And to give you an answer. Yes, everything in Ruby derives from Object. You can find the docs on this at http://corelib.rubyonrails.org/. Look for the Object class.
I'm not sure why you aren't getting intellisense, partly because you haven't specified your IDE. It's possible that you can't because you've added the method dynamically and no intellisense is available.
If we compare .NET to Rails then yes, there is this kind of hierarchy there. And in general, you can achieve this kind of hierarchy in any Ruby application via using modules.
I guess it's because of Ruby's dynamic nature.
Ruby is a pure OO language meaning that everything from classes to objects derive from the Object class.
Download NetBeans. There is full intellisense support for Ruby and Ruby on Rails.
http://www.netbeans.org/features/ruby/index.html
Intellisense support probably won't get you what you think it will get you. Because Ruby is a dynamic language, Intellisense, or code completion, is difficult. What you will find is that either the drop down is so flooded with possible completions as to be useless. Or in your case nothing at all.
It's not 100% useless, but I have never found it terribly valuable.

Resources