{"action":"created","issue":{"url":"https://api.github.com/repos/universal-ctags/ctags/issues/408","labels_url":"https://api.github.com/repos/universal-ctags/ctags/issues/408/labels{/name}","comments_url":"https://api.github.com/repos/universal-ctags/ctags/issues/408/comments","events_url":"https://api.github.com/repos/universal-ctags/ctags/issues/408/events","html_url":"https://github.com/universal-ctags/ctags/issues/408","id":92221939,"number":408,"title":"Ruby Parser Improvements","user":{"login":"jfelchner","id":285582,"avatar_url":"https://avatars.githubusercontent.com/u/285582?v=3","gravatar_id":"","url":"https://api.github.com/users/jfelchner","html_url":"https://github.com/jfelchner","followers_url":"https://api.github.com/users/jfelchner/followers","following_url":"https://api.github.com/users/jfelchner/following{/other_user}","gists_url":"https://api.github.com/users/jfelchner/gists{/gist_id}","starred_url":"https://api.github.com/users/jfelchner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfelchner/subscriptions","organizations_url":"https://api.github.com/users/jfelchner/orgs","repos_url":"https://api.github.com/users/jfelchner/repos","events_url":"https://api.github.com/users/jfelchner/events{/privacy}","received_events_url":"https://api.github.com/users/jfelchner/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":22,"created_at":"2015-06-30T23:10:32Z","updated_at":"2015-07-31T06:53:11Z","closed_at":null,"body":"Here are some improvements that, based on the way Ruby files are parsed, could be added to the parser:\r\n\r\n#### Camel-Cased Constants\r\n\r\n```ruby\r\nclass Foo\r\n  THIS_IS_MY_CONSTANT = 3\r\nend\r\n```\r\n\r\nShould create entries for variable:\r\n\r\n* `THIS_IS_MY_CONSTANT`\r\n\r\n#### attr_* methods\r\n\r\n```ruby\r\nclass Foo\r\n  attr_accessor :bar\r\n  attr_reader :baz\r\n  attr_writer :qux\r\nend\r\n```\r\n\r\nShould create entries for methods:\r\n\r\n* `bar`\r\n* `bar=`\r\n* `baz`\r\n* `qux=`\r\n\r\n#### Alias Method\r\n\r\n```ruby\r\nclass Foo\r\n  def bar\r\n  end\r\n\r\n  alias_method :baz, :bar\r\nend\r\n```\r\n\r\nShould create entries for methods:\r\n\r\n* `baz`\r\n\r\n#### Basic Rails Parsing\r\n\r\nI don't think this is something to go crazy on, but there are some basic Rails-y things that people would expect.\r\n\r\n```ruby\r\nclass Foo < ActiveRecord::Base\r\n  has_many :bars\r\n  has_one :baz\r\n  belongs_to :qux\r\n\r\n  validates :buz\r\nend\r\n```\r\n\r\nShould create entries for properties/attributes:\r\n\r\n* `bars`\r\n* `bars=`\r\n* `baz`\r\n* `baz=`\r\n* `qux`\r\n* `qux=`\r\n* `buz`\r\n* `buz=`\r\n\r\nHope this helps."},"comment":{"url":"https://api.github.com/repos/universal-ctags/ctags/issues/comments/126585124","html_url":"https://github.com/universal-ctags/ctags/issues/408#issuecomment-126585124","issue_url":"https://api.github.com/repos/universal-ctags/ctags/issues/408","id":126585124,"user":{"login":"masatake","id":77077,"avatar_url":"https://avatars.githubusercontent.com/u/77077?v=3","gravatar_id":"","url":"https://api.github.com/users/masatake","html_url":"https://github.com/masatake","followers_url":"https://api.github.com/users/masatake/followers","following_url":"https://api.github.com/users/masatake/following{/other_user}","gists_url":"https://api.github.com/users/masatake/gists{/gist_id}","starred_url":"https://api.github.com/users/masatake/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/masatake/subscriptions","organizations_url":"https://api.github.com/users/masatake/orgs","repos_url":"https://api.github.com/users/masatake/repos","events_url":"https://api.github.com/users/masatake/events{/privacy}","received_events_url":"https://api.github.com/users/masatake/received_events","type":"User","site_admin":false},"created_at":"2015-07-31T06:53:11Z","updated_at":"2015-07-31T06:53:11Z","body":"> So should we then switch to using ! for singleton methods? \r\n\r\nI'm sorry I am confused. The a tag for input file is injected by ctags itself even if xcmd is used as a parser.\r\nSo no translation is needed. \r\n\r\n@mislav, do you want to try ripper-tags+xcmd parser?\r\n\r\n"}}